JavaScript精度失真案例
0.1+0.2
结果是:0.30000000000000004
1-0.9
结果是:0.09999999999999998
4.10*100
结果是:409.99999999999994
6.10/0.1
结果是:60.99999999999999
大数计算
9007199254740992+1
结果是9007199254740992
JavaScript 浮点数运算结果不对,因浮点数的存储问题导致计算结果不对
math.js
npm i mathjs
- 支持数字,大数,复数,分数,单位,字符串,数组和矩阵。
- 与JavaScript的内置Math库兼容,Math用法,一样,门槛低
- 包含一个灵活的表达式解析器。
- 进行符号计算。
- 带有大量内置函数和常量。
- 也可以用作命令行应用程序。
- 在任何JavaScript引擎上运行。
- 很容易扩展。
- 开源。