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 25 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
Aug 01 Javascript
jQuery中ajax的使用与缓存问题的解决方法
Dec 19 Javascript
JS实现超炫网页烟花动画效果的方法
Mar 02 Javascript
JavaScript_ECMA5数组新特性详解
Jun 12 Javascript
angular中的cookie读写方法
Aug 02 Javascript
详解Layer弹出层样式
Aug 21 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
Oct 25 Javascript
关于Vue组件库开发详析
Jul 01 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
Nov 23 Javascript
基于vue的tab-list类目切换商品列表组件的示例代码
Feb 14 Javascript
详解react组件通讯方式(多种)
May 06 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 日漫
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
浅谈php安全性需要注意的几点事项
2014/07/17 PHP
Zend Framework上传文件重命名的实现方法
2016/11/25 PHP
JS Array对象入门分析
2008/10/30 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
jquery统计复选框选中示例
2013/11/05 Javascript
Google (Local) Search API的简单使用介绍
2013/11/28 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
jQuery实现列表内容的动态载入特效
2015/08/08 Javascript
微信小程序  简单实例(阅读器)的实例开发
2016/09/29 Javascript
layui实现动态和静态分页
2018/04/28 Javascript
vue router 跳转后回到顶部的实例
2018/08/31 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
python判断字符串是否纯数字的方法
2014/11/19 Python
Python get获取页面cookie代码实例
2018/09/12 Python
详解重置Django migration的常见方式
2019/02/15 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
python批量处理文件或文件夹
2020/07/28 Python
Python argparse模块应用实例解析
2019/11/15 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
伦敦所有西区剧院演出官方票务代理:Theatre Tickets Direct
2017/05/26 全球购物
个人职业生涯规划书1500字
2013/12/31 职场文书
食品安全责任书
2014/04/15 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
个人四风对照检查材料
2014/09/26 职场文书
党员对照检查材料整改措施思想汇报
2014/09/26 职场文书
平凡的世界读书笔记
2015/06/25 职场文书
文明礼貌主题班会
2015/08/14 职场文书
Django实现聊天机器人
2021/05/31 Python
室外天线与收音机天线杆接合方法
2022/04/05 无线电
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL