在用javascript做浮点数计算的时候,精度大的结果有时候很难和预期结果一致。
下面推荐3个用于执行高精度数学计算的javaScript库。
如果只是用javascript做简单的整数运算可以不用到库,但是如果要做到高精度的浮点运算的话,可以考虑上面的js库。
首先看一下浮点运算错误的例子:
1 | console.log(11*22.9); //251.89999999999998 |
输出结果是251.89999999999998而不是251.9。
要解决上面的问题,可以先把因数放大为整数,最后再除以相应的倍数。
1 | console.log(11*(22.9*10)/10); //251.9 |
+ 浮点加法运算
1 | function FloatAdd(arg1,arg2) { |
- 浮点减法运算
1 | function FloatSub(arg1,arg2) { |
* 浮点乘法运算
1 | function FloatMul(arg1,arg2) { |
/ 浮点除法运算
1 | function FloatDiv(arg1,arg2) { |