JavaScript添加十进制数字问题

这个问题在这里已经有了答案:

  • 浮点数学是否被破坏? 23个答案

  • 使用toFixed将其转换为带有一些小数位的字符串,然后将其转换回数字。

    +(0.1 + 0.2).toFixed(12) // 0.3
    

    它看起来像IE的toFixed有一些奇怪的行为,所以如果你需要支持IE这样的事情可能会更好:

    Math.round((0.1 + 0.2) * 1e12) / 1e12
    

    function add(){
        var first=parseFloat($("#first").val());
        var second=parseFloat($("#second").val());
        $("#result").val(+(first+second).toFixed(2));
    }
    

    DEMO。


    这是浮点常见的问题。

    结合parseFloat使用toFixed

    这里是JavaScript中的例子。

    链接地址: http://www.djcxy.com/p/27445.html

    上一篇: JavaScript adding decimal numbers issue

    下一篇: Floating point arithmetic not producing exact results