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


Posted in Javascript onJune 19, 2018

本文实例讲述了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.3water.com/code/HtmlJsRun测试运行效果。

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

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

科学计算器在线使用_高级计算器在线计算:
http://tools.3water.com/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.3water.com/jisuanqi/jsq

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 设计模式学习 Singleton
Jul 27 Javascript
jQuery+ajax实现顶一下,踩一下效果
Jul 17 Javascript
javascript一元操作符(递增、递减)使用示例
Aug 07 Javascript
javascript中怎么做对象的类型判断
Nov 11 Javascript
javascript删除元素节点removeChild()用法实例
May 26 Javascript
浅谈JavaScript中的对象及Promise对象的实现
Nov 15 Javascript
跟我学习javascript的函数调用和构造函数调用
Nov 16 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
Oct 27 Javascript
深入理解vue中的$set
Jun 01 Javascript
JQuery选中select组件被选中的值方法
Mar 08 jQuery
vue 解决文本框被键盘遮住的问题
Nov 06 Javascript
微信浏览器下拉黑边解决方案 wScroollFix
Jan 21 Javascript
使用proxy实现一个更优雅的vue【推荐】
Jun 19 #Javascript
微信小程序input框中加入小图标的实现方法
Jun 19 #Javascript
详解基于Vue cli生成的Vue项目的webpack4升级
Jun 19 #Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
Jun 19 #Javascript
Vue.js 2.x之组件的定义和注册图文详解
Jun 19 #Javascript
Vue中使用webpack别名的方法实例详解
Jun 19 #Javascript
vue mounted组件的使用
Jun 18 #Javascript
You might like
PHP 开发环境配置(Zend Server安装)
2010/04/28 PHP
php中hashtable实现示例分享
2014/02/13 PHP
php使用function_exists判断函数可用的方法
2014/11/19 PHP
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
jQuery+CSS3实现树叶飘落特效
2015/02/01 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
用js读写cookie的简单方法(推荐)
2016/08/08 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
vue+springboot实现项目的CORS跨域请求
2018/09/05 Javascript
JavaScript中将值转换为字符串的五种方法总结
2019/06/06 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
详解Angular Karma测试的持续集成实践
2019/11/15 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
Nuxt默认模板、默认布局和自定义错误页面的实现
2020/05/11 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python实现感知器
2017/12/19 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
Python功能点实现:函数级/代码块级计时器
2019/01/02 Python
基于django ManyToMany 使用的注意事项详解
2019/08/09 Python
关于阿里云oss获取sts凭证 app直传 python的实例
2019/08/20 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
全球性的在线商店:Vogca
2019/05/10 全球购物
电脑教师的教学自我评价
2013/11/26 职场文书
一份报关员的职业规划范文
2014/01/08 职场文书
高一历史教学反思
2014/01/13 职场文书
新学期决心书
2014/03/11 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫