0.1 + 0.2 !== 0.3;
精度丢失的原因:
- 计算机中所有的数据都是以二进制存储的,所以在计算时计算机要把数据先转换成二进制进行计算,然后在把计算结果转换成十进制。
- 二进制计算发生了精度丢失,导致再转换成十进制后和预计的结果不符。
解决:
1. 把小数放到位整数(乘倍数),再缩小回原来倍数(除倍数)。
0.1 + 0.2;改为 (0.110 + 0.210) / 10 == 0.3; // true
2.
。。。
0.1 + 0.2 !== 0.3;
精度丢失的原因:
解决:
1. 把小数放到位整数(乘倍数),再缩小回原来倍数(除倍数)。
0.1 + 0.2;改为 (0.110 + 0.210) / 10 == 0.3; // true
2.
。。。