JavaScript

超轻量级php框架startmvc

JavaScript使用math.js进行精确计算操作示例

更新时间:2020-07-13 18:12:01 作者:startmvc
本文实例讲述了JavaScript使用math.js进行精确计算操作。分享给大家供大家参考,具体如下:j

本文实例讲述了JavaScript使用math.js进行精确计算操作。分享给大家供大家参考,具体如下:

javascript进行浮点运算会有尾差,比如算个0.1+0.7试试,得到的不是0.8 。这个问题可以使用math.js解决。

Math.js是一款开源的JavaScript和Node.js数学库,用于处理数字、大数、复数、单位和矩阵。

官网: http://mathjs.org/

cdn地址:https://cdnjs.cloudflare.com/ajax/libs/mathjs/5.0.0/math.js

示例代码:


<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/5.0.0/math.js"></script>
<script type="text/javascript">
function fn_click(p){
 var a , b;
 a=0.7;
 b=0.1;
 if(p==1){
 alert(a+b);
 }else if(p==2){
 alert(eval("a+b"));
 }else if(p==3){
 math.config({
 number: 'BigNumber'
 });
 var result = math.parser().eval(a + "+" + b)
 alert(result);
 }
}
</script>
</head>
<body>
 <input type="button" value="0.7+0.1" onclick="fn_click(1);" />
 <input type="button" value="eval(0.7+0.1)" onclick="fn_click(2);" />
 <input type="button" value="mathjs(0.7+0.1)" onclick="fn_click(3);" />
</body>
</html>

上面分别用3种方法计算0.7+0.1,可以看到使用math.parser().eval()计算得到了准确的结果0.8

这里可以使用在线HTML/CSS/JavaScript代码运行工具 http://tools.jb51.net/code/HtmlJsRun测试运行效果。

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具: http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算: http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器: http://tools.jb51.net/jisuanqi/jsq

JavaScript math.js 精确计算