Skip to content
On this page

小数相加

题目

为何 0.1 + 0.2 !== 0.3

答案

计算机用二进制存储数据。

整数用二进制没有误差,如 9 表示为 1001
而有的小数无法用二进制表示,如 0.2 用二进制表示就是 1.10011001100...

所以,累加小数时会出现误差。
这不仅仅是 JS ,所有的计算机语言都这样。

扩展

可以使用第三方库 https://www.npmjs.com/package/mathjs

Released under the MIT License.