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);
Is there anyone out there who allready found a solution for it?
Jon Skeet [C# MVP] - 24 Apr 2008 19:52 GMT
> 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.
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

Signature
Jon Skeet - <skeet@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
World class .NET training in the UK: http://iterativetraining.co.uk
Denis - 28 Apr 2008 10:26 GMT
> > 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
[quoted text clipped - 12 lines]
> Jon Skeet - <sk...@pobox.com>http://www.pobox.com/~skeet Blog:http://www.msmvps.com/jon.skeet
> World class .NET training in the UK:http://iterativetraining.co.uk
Thanks, helped very much