最后更新于4年前
Javascript 使用 Number 表示数字,使用64位固定长度来表示。
0.1的二进制舍去之后就是(怎么转换? 有阶码等原理)
0.1
0.00011001100110011001100110011001100110011001100110011010
0.2的舍去之后的二进制表示为:
0.2
0.0011001100110011001100110011001100110011001100110011010
两数相加转成10进值正好是`0.30000000000000004
相同的原理,下面的乘式也会出错
35.41 * 100 = 3540.9999999999995
学习理解 number-precision