80-bit long double
(not sure about its size in MSVS) can store around 18 significant decimal digits without loss of precision. 1300010000000000000144.5700788999
has 32 significant decimal digits and cannot be stored exactly as long double
.
Read Number of Digits Required For Round-Trip Conversions for more details.
8
solved Blatant floating point error in C++ program