JS中小数相加相减时出现很长的小数点的解决方式
Posted 薄荷凉凉凉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中小数相加相减时出现很长的小数点的解决方式相关的知识,希望对你有一定的参考价值。
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中小数相加相减时出现很长的小数点的解决方式的主要内容,如果未能解决你的问题,请参考以下文章