解决JS中浮点数乘法错误问题
程序员文章站
2024-03-25 11:28:52
...
解决JS中浮点数乘法错误问题
alert(39.2*3);
我们直接结算,随后输出:
117.60000000000001
对于浮点数乘法出现计算错误,我们的解决思路就是*10,然后把结果/10
alert(39.2*10*3/10);
这样结果就正确了。
在网上找到的解释是:
java和JavaScript中计算小数运算时,都会先将十进制的小数换算到对应的二进制,一部分小数并不能完整的换算为二进制,这里就出现了第一次的误差。待小数都换算为二进制后,再进行二进制间的运算,得到二进制结果。然后再将二进制结果换算为十进制,这里通常会出现第二次的误差。要避免这种情况呢,通常可以将小数同时扩大相同10的整倍数,完成计算后,在去掉之前添加的整倍数。
上一篇: adb命令循环启动android app
下一篇: 12:接口
推荐阅读
-
解决JS中浮点数乘法错误问题
-
转(JS中浮点运算精度错误BUG解决方案) 博客分类: Javascript javascriptjsfloat浮点精度
-
转(JS中浮点运算精度错误BUG解决方案) 博客分类: Javascript javascriptjsfloat浮点精度
-
Angular中ng-class更新后,class不随着马上更新的问题解决 博客分类: Angular.js ng-classngclassclassangular更新
-
Java中浮点数精度问题的解决方法
-
Java中浮点数精度问题的解决方法
-
spring boot 2.x html中引用css和js失效问题及解决方法
-
thinkPHP js文件中U方法不被解析问题的解决方法
-
spring boot 2.x html中引用css和js失效问题及解决方法
-
Node.js 环境搭建过程中可能遇到的问题解决方案