Groups | Blog | Home
all groups > c# > april 2008 >

c# : convert double to string


Denis
4/24/2008 7:45:34 AM
Hi,

I am trying to convert a double to a string. The problem the value of
the double may vary and I need to always the exact value without the
exponential and without rounding.
Example: double 0.00000000000000000000023 should be string
0.00000000000000000000023 and not 0.00 or 2.3-E24

I tried it with
Console.WriteLine(dd.ToString("X", CultureInfo.InvariantCulture))
X=different numbertypes like G,D,N,...

Double.Parse(dd, NumberStyles.AllowCurrencySymbol Or
NumberStyles.Number Or ...

string.Format("{0:0.####}", myNumber);

Jon Skeet [C# MVP]
4/24/2008 7:52:06 PM
[quoted text, click to view]

If you need the absolute *exact* value, you can use the DoubleConverter
which can be found on
http://pobox.com/~skeet/csharp/floatingpoint.html

However, be careful - for your example, there's no exact double with
the value 0.00000000000000000000023. The closest is:

0.000000000000000000000229999999999999980614404973731825433997863397240
965158599261021488135980916922562755644321441650390625

--
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
AddThis Social Bookmark Button