美文网首页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