为什么使用IE10进行十进制算术时没有精度损失?

我发现IE10不会造成精度损失,这在Edge,Chrome,Firefox等其他浏览器中很常见。我想知道IE10中是否有兼容的解决方法?

  • 在IE10中

    为什么使用IE10进行十进制算术时没有精度损失?

  • 在其他浏览器中

    为什么使用IE10进行十进制算术时没有精度损失?

dalaoer007 回答:为什么使用IE10进行十进制算术时没有精度损失?

尝试清除浏览器数据(缓存和历史记录),然后重新检查。

我已经在计算机上对其进行了测试,所有浏览器(包括IE 9 +,Microsoft Edge,Chrome和Firefox)将显示相同的结果0.30000000000000004,这是浮点运算问题,您可以检查this articlethis thread

要解决浮点算术问题,我们可以使用以下方法:

  1. 请参考以下代码:

    var x = 0.2 + 0.1;
    document.getElementById("demo1").innerHTML = "0.2 + 0.1 = " + x;
    var y = (0.2*10 + 0.1*10) / 10;
    document.getElementById("demo2").innerHTML = "0.2 + 0.1 = " + y; 
    

    输出如下:

    0.2 + 0.1 = 0.30000000000000004
    0.2 + 0.1 = 0.3
    
  2. 使用toFixed方法。

    var x = 0.1;
    var y = 0.2; 
    console.log((x + y).toFixed(1));
    

    结果是:0.3

本文链接:https://www.f2er.com/3168788.html

大家都在问