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对象链式操作代码(jquery)
Jul 04 Javascript
jquery ajax abort()的使用方法
Oct 28 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
node+express+ejs制作简单页面上手指南
Nov 26 Javascript
js+html5操作sqlite数据库的方法
Feb 02 Javascript
jQuery实现两列等高并自适应高度
Dec 22 Javascript
BootStrap的两种模态框方式
May 10 Javascript
JavaScript禁止微信浏览器下拉回弹效果
May 16 Javascript
Nuxt.js踩坑总结分享
Jan 18 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
vue 全局环境切换问题
Oct 27 Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 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
星际实力自我测试
2020/03/04 星际争霸
mysql 字段类型说明
2007/04/27 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
2009/10/25 Javascript
javascript基础知识大集锦(二) 推荐收藏
2011/01/13 Javascript
jQuery1.9.1针对checkbox的调整方法(prop)
2014/05/01 Javascript
玩转方法:call和apply
2014/05/08 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
2015/11/03 Javascript
原生js模拟淘宝购物车项目实战
2015/11/18 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
angular2倒计时组件使用详解
2017/01/12 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
详解Vue中使用Axios拦截器
2019/04/22 Javascript
Python实现将n个点均匀地分布在球面上的方法
2015/03/12 Python
Python判断文件和文件夹是否存在的方法
2015/05/21 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python切片操作实例分析
2018/03/16 Python
Python使用gRPC传输协议教程
2018/10/16 Python
学习python的前途 python挣钱
2019/02/27 Python
pyqt5实现登录界面的模板
2020/05/30 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
基于 HTML5 WebGL 实现的垃圾分类系统
2019/10/08 HTML / CSS
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
运行时异常与一般异常有何异同?
2014/01/05 面试题
小孩百日宴答谢词
2014/01/15 职场文书
团拜会策划方案
2014/06/07 职场文书
班子成员四风问题自我剖析材料
2014/09/29 职场文书
期中考试后的感想
2015/08/07 职场文书
2016年教代会开幕词
2016/03/04 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
Elasticsearch 批量操作
2022/04/19 Python