为什么js中var res=457.4+789.8的结果是1247.1999999999998而不是1247.2
有些小数以二进制表示位数是无穷的,比如 1.1,程序实际上无法真正的表示 1.1,而只能做到一定程度上的准确(1.09999999999999999),这是无法避免的精度丢失。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
javascript中浮点数的计算是以2进制计算的,所以存在失精问题。可以使用toFixed()方法解决