js加减法,为什么用大数字浮点数加减不会有精度问题..

新手上路,请多包涵

比如0.1+0.2=0.3000000004,这个我明白
但是100.1+100.2 =100.3 类似大数字的减法也是没有出现精度问题..根据js计数的方法,我想不到如何推断解释这个

阅读 3.4k
4 个回答

JavaScript 浮点数陷阱及解法可以参考一下原理,做一下十进制换二进制计算然后再转换十进制小数处理的过程,超过的精度会自动做凑整处理,刚好会把多出来的小数处理掉,看到的就会是100.3

并不是大数字就不会有这种问题,而是某些数字加起来刚好没有

1000.1+1000.2 = 2000.3000000000002
推荐问题