博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
黄聪:JS数学计算精度修正
阅读量:6680 次
发布时间:2019-06-25

本文共 1466 字,大约阅读时间需要 4 分钟。

问题描述

如果我问你,4330.61乘以100等于多少,我猜你肯定跟我说:“肯定是 433061”啊!

是啊,要我我也是这么回答,来来来我们来看看浏览器怎么说吧,如下图

 

 
浏览器告诉我,他就是算不对
偌!浏览器告诉我,他就是算不对,这要是给客户算钱,客户不就有意见了....
WHY?计算机计算出来的还不如我自己的心算呢!!!!
如果你想了解什么原因,您请看=>

 

解决办法

;(function(){  function mathService(){ this.add=function(a,b){ var c, d, e; try { c = a.toString().split(".")[1].length; } catch (f) { c = 0; } try { d = b.toString().split(".")[1].length; } catch (f) { d = 0; } return e = Math.pow(10, Math.max(c, d)), (this.mul(a, e) + this.mul(b, e)) / e; } this.mul=function(a, b) { var c = 0, d = a.toString(), e = b.toString(); try { c += d.split(".")[1].length; } catch (f) {} try { c += e.split(".")[1].length; } catch (f) {} return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c); } this.sub=function(a,b){ var c, d, e; try { c = a.toString().split(".")[1].length; } catch (f) { c = 0; } try { d = b.toString().split(".")[1].length; } catch (f) { d = 0; } return e = Math.pow(10, Math.max(c, d)), (this.mul(a, e) - this.mul(b, e)) / e; } this.div=function(a, b) { var c, d, e = 0, f = 0; try { e = a.toString().split(".")[1].length; } catch (g) {} try { f = b.toString().split(".")[1].length; } catch (g) {} return c = Number(a.toString().replace(".", "")), d = Number(b.toString().replace(".", "")), this.mul(c / d, Math.pow(10, f - e)); } } window.mathService=new mathService() })(window);

来来来,用起来

 
image.png

Ok!写完收工!!!

作者:小枫学幽默
链接:https://www.jianshu.com/p/c3374517b976
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
你可能感兴趣的文章
http://xpleaf.blog.51cto.com/
查看>>
Thrift使用教程(Java版本)
查看>>
我的友情链接
查看>>
通过SSH证书实现Putty免密码登录CentOS
查看>>
Java IO类库之Bits
查看>>
ERROR 1217 (23000): Cannot delete or update a pare
查看>>
oracle 11g RAC搭建 ASM存储
查看>>
函数学习-bytearray()
查看>>
CentOS7安装配置telnet-server
查看>>
GitOSC和GitHub上传项目
查看>>
全局静态变量析构和线程结束先后顺序问题
查看>>
[PYTHON] 核心编程笔记(12.Python模块)
查看>>
windows下MD5-SHA1校验
查看>>
Linux学习记录-2015-08-20--常用命令1
查看>>
Android工程引用另外一个工程的正确/错误方法
查看>>
Testlink使用介绍
查看>>
【动态规划】0-1背包问题原理和实现
查看>>
c3p0详细配置
查看>>
jsfl导出库里面的PNG图片
查看>>
PostgreSQL的MVCC vs InnoDB的MVCC
查看>>