美文网首页JavaScript 进阶营
2019-01-14 关于js中小数相加出现的问题

2019-01-14 关于js中小数相加出现的问题

作者: Nic_Y | 来源:发表于2019-01-14 13:57 被阅读0次

一些小数相加时会出现很多位数的情况。
如8个0.05相加,结果是0.39999999999999997
4.2+9.2=13.399999999999998
2.2+9.7=11.899999999999998

这是JavaScript浮点运算的一个bug

查了很多资料,发现了一种最简单的方法。

<html>  
    <head></head>  
    <body>  
        <script>  
              
            var a=4.2;  
            var b=9.2;  
  
            alert(Number((a+b).toFixed(2)));  
        </script>  
    </body>  
</html>  

用Number()和 toFixed处理一下就好了
测试了一些数据都没有发现问题
其中 toFixed方法就是保留几位小数

希望可以帮助到大家。
祝,早日升职加薪!

相关文章

网友评论

    本文标题:2019-01-14 关于js中小数相加出现的问题

    本文链接:https://www.haomeiwen.com/subject/gssddqtx.html