浮点数计算相关库

版权声明:如需转载请参阅《转载说明》 https://blog.csdn.net/automation13/article/details/84648430

1、常见精度问题如:0.1+0.2,1.1*1.1

2、有很多同学将浮点数扩大成整数,直接乘以10^N,其实这也会可能导致误差,例如 0.57*100 => 56.99999999999999;另外除法运算也可能导致误差,5.7/10 => 0.5700000000000001;记住,包含浮点数的加减乘除都可能导致计算误差。(参考:https://zhuanlan.zhihu.com/p/28162086

3、参考(https://github.com/camsong/blog/issues/9

开源库 地址 描述 备注
mathjs https://github.com/josdejong/mathjs Math.js 是专门为 JavaScript 和 Node.js 提供的一个广泛的数学库。它具有灵活的表达式解析器,支持符号计算,配有大量内置函数和常量,并提供集成解决方案来处理不同的数据类型
像数字,大数字(超出安全数的数字),复数,分数,单位和矩阵。 功能强大,易于使用。
支持web和node
deciml.js https://github.com/MikeMcl/decimal.js 为 JavaScript 提供十进制类型的任意精度数值。 支持web和node
bignumber.js https://github.com/MikeMcl/bignumber.js 一个用于任意精度十进制和非十进制算术的JavaScript库。  
big.js https://github.com/MikeMcl/big.js 一个小的、快速的JavaScript库,用于任意精度的十进制运算。

上边图片的“here”的超链接为https://github.com/MikeMcl/big.js/wiki

可以查看deciml.js、bignumber.js、big.js三者区别

猜你喜欢

转载自blog.csdn.net/automation13/article/details/84648430