晗978
贫民
贫民
  • 最后登录2016-04-22
  • 发帖数4
阅读:11915回复:4

[javascript]关于JS代码中进行浮点运算的失真

楼主#
更多 发布于:2016-04-22 12:31
在js中进行浮点运算时有可能会出现结果失真的情况。

最新喜欢:

sunshinesunshi...
sunshine
管理员
管理员
  • 最后登录2023-10-30
  • 发帖数170
  • 社区居民
沙发#
发布于:2016-09-20 11:05
0.1+0.2=0.30000000000000004
js中的精度问题,如果解决呢,将小数之间的加,变成整数加,在进行除法运算即可。当然也有其它的方法
如上,可以写成下面的形式:
          (0.1*10+0.2*10)/10 = 0.3
晗978
贫民
贫民
  • 最后登录2016-04-22
  • 发帖数4
板凳#
发布于:2016-04-22 12:43
晗978
贫民
贫民
  • 最后登录2016-04-22
  • 发帖数4
地板#
发布于:2016-04-22 12:37
这是修改后的代码以及结果
晗978
贫民
贫民
  • 最后登录2016-04-22
  • 发帖数4
4楼#
发布于:2016-04-22 12:34
 解决方案 解决方案的原理是,将浮点数乘以(扩大)10的n次方倍,把浮点数变为整数后再进行相应的运算,最后将得到的结果除以(缩小)10的n次方倍。
游客


返回顶部

公众号

公众号