# js中 为什么0.1 + 0.2 !== 0.3

JS中采用 IEEE754 双精度版本 (64位), 0.1 + 0.2 会被计算机转成二进制,转换过程后最终的结果存成64位发生了截取,导致计算后的结果再转成十进制时发生了精度丢失.

解决办法

  1. toFixed(), 相加后保留几位小数 (0.1+0.2).toFixed(2)
  2. 乘一个10的N次整数,相加后再除以这个数 (0.1 * 100 + 0.2 * 100) / 100
Last Updated: 6/7/2021, 3:44:17 PM