编程

梗概:

  • 有些有限的十进制小数用二进制是无限循环的
    • 如0.1用二进制表示就是无限循环的
  • 用有限位存储无限位, 就造成了精度丢失

精度丢失导致的问题:

1. 接受的小数与预期不相等

1.1. 解决方案:

  • 四舍五入凑整, 这样就可以掩盖极小的误差了

2. 小数运算结果与预期不相等

  • 计算机判断想等是严格想等, 即使误差非常小

2.1. 实例:

0.1+0.2==0.3//false

2.2. 解决方案:

使用成熟的第三方库来处理, 如js的math.jsBigDecimal.js