JavaScript中的无限精度算术

时间:2013-02-09 00:39:38

标签: javascript precision

在JavaScript中,函数alert((3*3*Math.sqrt(2))/13)打印0.9790709277967582,它只是表达式真值的近似值。有没有办法在像这样的JavaScript中执行算术运算而不会损失精度,因此3*3*sqrt(2))/13之类的东西会输出9*(2)^(1/2)/13,这是确切的值,而不是0.9790709277967582,只是近似值?

1 个答案:

答案 0 :(得分:1)

这里有一个库:https://github.com/whatgoodisaroad/Big-js/downloads

它有一堆像myNum.add(otherNum)这样的函数,所以它可能有点难用。但是,如果您需要无限精度,则必须这样做。

示例:

var number1 = new Big("12.00000000000000005");
var number2 = new Big("12");

number1.lessThanOrEqualTo(number2); // False, like it should be.