我得到了一个值=2.05Float fild,当我使用*1000时,结果是2049.999952316284,为什么结果不是2050.0?
谢谢
发布于 2012-09-27 20:02:55
大概是因为字段不是存储为2.05,而是存储为2.04999。如果你增加字段的分辨率,也就是将其存储为2.0500,会发生什么?
这个问题是由于计算机无法准确地存储一些实数造成的。
顺便说一句,如果这个值应该是一个货币值,将它存储为数字(12,2),那么就不会有任何浮点错误。
https://stackoverflow.com/questions/12620827
复制相似问题