在 JavaScript 中处理十进制小数运算时,常会遇到精度丢失问题,这不是 JavaScript 特有的,而是计算机二进制表示浮点数的固有限制。 精度丢失现象 当计算 0.1 + 0.2 时,结果是 0.30000000000000004 而非预期的 0.3。类似地,1.2 - 1 的结果是 0.19999999999999996。 这种现象在多种编程语言中普遍存在,例如 Python: print(.1 + .2) # 输出: 0.30000000000000004 原因分析 这一问题的根本原因是计算机使用二进制存储数据。 二进制转换过程