I am trying to convert a string which contains a decimal number into a number with out any lost of precision. For example the string 5000000.0000000009 should become the number 5000000.0000000009 and not 5000000.000000001 Using the built in function like ToExpression certain numbers are rounded to machine precision but not all.
For example:
FullForm@ToExpression @ "5000000.0000000009" Outputs:
5.000000000000001`*^6 Note: ToExpression returns the correct result for other slightly different numbers.
FullForm@ToExpression @ "5000000.00000000099" Outputs:
5.00000000000000099`17.69897000433602*^6 Why does ToExpression round some numbers and not others or am I misunderstanding the output?