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 相关文章推荐
豆瓣网的jquery代码实例
Jun 15 Javascript
jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)
Oct 20 Javascript
Jquery 的outerHeight方法使用介绍
Sep 11 Javascript
js showModalDialog弹出窗口实例详解
Jan 07 Javascript
利用javascript打开模态对话框(示例代码)
Jan 11 Javascript
js实现文字在按钮上滚动的方法
Aug 20 Javascript
vue.js源代码core scedule.js学习笔记
Jul 03 Javascript
angularJS的radio实现单项二选一的使用方法
Feb 28 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
Apr 11 Javascript
一个小时快速搭建微信小程序的方法步骤
Apr 15 Javascript
Vue+Element-U实现分页显示效果
Nov 15 Javascript
Ajax实现三级联动效果
Oct 05 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/01/18 PHP
PHP生成二维码的两个方法和实例
2014/07/01 PHP
PHP反向代理类代码
2014/08/15 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
jquery插件unobtrusive实现片段式加载
2015/06/15 Javascript
jquery表单验证需要做些什么
2015/11/17 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
详解Web使用webpack构建前端项目
2017/09/23 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
2018/06/22 Javascript
详解如何webpack使用DllPlugin
2018/09/30 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
听歌识曲--用python实现一个音乐检索器的功能
2016/11/15 Python
基于Python的XSS测试工具XSStrike使用方法
2017/07/29 Python
对python中Librosa的mfcc步骤详解
2019/01/09 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
写好自荐信的技巧
2013/11/08 职场文书
心理健康教育制度
2014/01/27 职场文书
大学同学聚会邀请函
2014/01/29 职场文书
山东省召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
2015年出纳个人工作总结
2015/04/02 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS