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

一些小数相加时会出现很多位数的情况。
如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方法就是保留几位小数

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容