我遇到了一个奇怪的问题,我想做一些基本的数学检查.我已阅读以避免浮点数,所以我决定将我的数学值乘以10000,因为我的值可以在0.9和0.0025之间.
一切正常,除了两个值:0.56和0.57:
var result = 0.57 * 10000
结果是:5699.999999999999,我希望5700 !!并且0.56也出错了,但所有其他值都是正确的,我在这里缺少什么?
解决方法
您在Javascript中的选择(实际上,在大多数语言中)是整数或浮点数.如果你写“0.57”,你就会强迫它进入浮点世界,其精度有限.
如果你想要绝对准确,你需要专门用整数.