Currently I am working with numbers with high precisions in complex calculations. Some of results and source data should be stored in serialized form. Everything was good till I get magic double value: 0.00000060912702792848.
Writing that value to string (that what XmlWriter does):
s = d.ToString("R", NumberFormatInfo.InvariantInfo);
gives expected result 6.0912702792848E-07.
But magic starts when I try to get double value back (the way how XmlReader works):
d=double.Parse(s, NumberStyles.Float, NumberFormatInfo.InvariantInfo);
Converted back value is 0.00000060912702792848005 with 005 extra digits at the end.
It looks like special combination of numbers that gives such result. What do I miss?
Environment: Windows 7 Professional, 64-bit.