码迷,mamicode.com
首页 > Web开发 > 详细

JS中小数相加相减时出现很长的小数点的解决方式

时间:2018-07-04 11:40:09      阅读:447      评论:0      收藏:0      [点我收藏+]

标签:item   解决方法   each   1.2   code   console   方法   span   col   

1、问题:

平时写的代码中会出现这种情况,parseFloat(11.3-10.1) 运行的结果依然是1.200000000000001

代码示例:

 var arr = [0.0111,11.002,0.3,1.5,1.61]
 var total = 0
   arr.forEach(item =>{
     total += item
   })
   console.log(total)

返回的结果---  14.423100000000002,这种情况就不合常理。

2、解决方案:

这里有一种可行的解决方法,应用到Math中的一些浮点应用的函数如:parseFloat()和Math.floor()

代码如下:

 var arr = [0.0111,11.002,0.3,1.5,1.61]
 var total = 0
    arr.forEach(item =>{
        total += parseFloat(item)
    })
    total = Math.floor(total*100)/100
    console.log(total)

返回的结果---  14.42,返回的是有两位小数点的数字。

 

当然还有其他的解决方案,这篇文章只记录这一种,作为总结和后期参考。

JS中小数相加相减时出现很长的小数点的解决方式

标签:item   解决方法   each   1.2   code   console   方法   span   col   

原文地址:https://www.cnblogs.com/zjingjing/p/9262227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!