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 相关文章推荐
纯js实现背景图片切换效果代码
Nov 14 Javascript
javascript制作loading动画效果 loading效果
Jan 14 Javascript
为jQuery添加Webkit的触摸的方法分享
Feb 02 Javascript
修改或扩展jQuery原生方法的代码实例
Jan 13 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
jQuery垂直多级导航菜单代码分享
Aug 18 Javascript
jquery实现简洁文件上传表单样式
Nov 02 Javascript
第五篇Bootstrap 排版
Jun 21 Javascript
懒加载实现的分页&amp;&amp;网站footer自适应
Dec 21 Javascript
详解vue express启动数据服务
Jul 05 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
JS快速实现简单计算器
Apr 08 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查找指定目录下指定大小文件的方法
2014/11/28 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
PHP实现的回溯算法示例
2017/08/15 PHP
Laravel框架分页实现方法分析
2018/06/12 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
jQuery实现图片轮播特效代码分享
2015/09/15 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
js中获取键盘事件的简单实现方法
2016/10/10 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
nodejs实现大文件(在线视频)的读取
2020/10/16 NodeJs
vue双向数据绑定知识点总结
2018/04/18 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
解决微信浏览器缓存站点入口文件(IIS部署Vue项目)
2019/06/17 Javascript
Nodejs中使用puppeteer控制浏览器中视频播放功能
2019/08/26 NodeJs
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
以windows service方式运行Python程序的方法
2015/06/03 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
python web.py开发httpserver解决跨域问题实例解析
2018/02/12 Python
如何安装并使用conda指令管理python环境
2019/07/10 Python
python标识符命名规范原理解析
2020/01/10 Python
使用Python操作ArangoDB的方法步骤
2020/02/02 Python
AVIS安飞士奥地利租车官网:提供奥地利、欧洲和全世界汽车租赁
2016/11/29 全球购物
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
法学毕业生自荐信
2013/11/13 职场文书
行政办公员自我评价分享
2013/12/14 职场文书
教师节促销活动方案
2014/02/14 职场文书
股指期货心得体会
2014/09/10 职场文书
工作失职检讨书
2015/01/26 职场文书
2015年艾滋病防治工作总结
2015/05/22 职场文书
归途列车观后感
2015/06/17 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS