解决方法:把需要计算的数字升级(乘以10的n次幂)成计算机能够精确识别的整数,等计算完毕再降级(除以10的n次幂),这是大部分编程语言处理精度差异的通用方法。

比如计算0.33和5.2的和,则需要把(0.33*100+5.2*100)/100。

函数:

var numAdd = function (num1, num2) {//要相加的两个数
var baseNum, baseNum1, baseNum2;
try {
baseNum1 = num1.toString().split(".")[1].length;
} catch (e) {
baseNum1 = 0;
}
try {
baseNum2 = num2.toString().split(".")[1].length;
} catch (e) {
baseNum2 = 0;
}
baseNum = Math.pow(10, Math.max(baseNum1, baseNum2));
var n = (num1 * baseNum + num2 * baseNum) / baseNum;
return n;
};

最新文章

  1. etl结合java的例子
  2. AttributeError: '_csv.reader' object has no attribute 'next'
  3. iOS-旧项目中手动内存管理(MRC)转ARC
  4. struts2DMI(动态方法调用)
  5. GSM Hacking:使用BladeRF、树莓派、YatesBTS搭建便携式GSM基站
  6. git 和 svn的区别(转)
  7. Android (cocos2dx 网络访问)访问权限设置
  8. 关于JDK中的设计模式
  9. 【转】C,C++中使用可变参数
  10. building Utils {{ant+ivy}、{maven}}怎么样手动将下载下来的 JAR 包添加到 Maven、ivy 的本地仓库
  11. [转] Mac OX上安装MongoDb
  12. LeetCode——Linked List Cycle II
  13. mybatis 入门进阶之 mapper
  14. sed标签
  15. 优雅地 `async/await`
  16. [Swift]LeetCode103. 二叉树的锯齿形层次遍历 | Binary Tree Zigzag Level Order Traversal
  17. Oracle集群(RAC)时间同步(ntp和CTSS)
  18. asp.net 后台 get,post请求
  19. JavaScript-年月日转换12小时制
  20. python3.5安装Numpy、mayploylib、opencv等额外库

热门文章

  1. 【Redis实战专题】「性能监控系列」全方位探索Redis的性能监控以及优化指南
  2. Markdown最基础语法内容
  3. SOFAJRaft源码阅读-ShutdownHook如何优雅的停机
  4. Nodejs后端自动化测试
  5. 字符编码,存储引擎及MySQL字段类型相关知识点
  6. Linux三剑客日志处理系列
  7. 浅谈JS词法环境
  8. flex实现圣杯布局
  9. 0源码基础学习Spring源码系列(一)——Bean注入流程
  10. ctfshow_web入门 命令执行