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 globalStorage类代码
Jun 04 Javascript
javaScript Array(数组)相关方法简述
Jul 25 Javascript
javascript 最常用的10个自定义函数[推荐]
Dec 26 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
Mar 07 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
Jan 25 Javascript
json格式的时间显示为正常年月日的方法
Sep 08 Javascript
Node.js中使用socket创建私聊和公聊聊天室
Nov 19 Javascript
微信小程序中显示html格式内容的方法
Apr 25 Javascript
微信小程序实现的图片保存功能示例
Apr 24 Javascript
微信小程序 数据缓存实现方法详解
Aug 26 Javascript
javascript浅层克隆、深度克隆对比及实例解析
Feb 09 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
Mar 02 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
Yii2实现UploadedFile上传文件示例
2017/02/15 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
Laravel中GraphQL接口请求频率实战记录
2020/09/01 PHP
Javascript 面向对象 重载
2010/05/13 Javascript
Textbox控件注册回车事件及触发按钮提交事件具体实现
2013/03/04 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
基于JavaScript实现移除(删除)数组中指定元素
2016/01/04 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
vue cli webpack中使用sass的方法
2018/02/24 Javascript
vue底部加载更多的实例代码
2018/06/29 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
Python去除列表中重复元素的方法
2015/03/20 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
python dlib人脸识别代码实例
2019/04/04 Python
centos 安装Python3 及对应的pip教程详解
2019/06/28 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
幼儿园教师培训制度
2014/01/16 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
企业出纳岗位职责
2014/03/12 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
十周年庆典策划方案
2014/06/03 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
浅谈Python数学建模之线性规划
2021/06/23 Python