<html>
<head>
</head>
<body>
<form>
<input type="button" value="0.3915.toFixed(3)" onclick="alert(0.3915.toFixed(3))" >
</form>
</body>
</html>代码如上,得到的结果是0.392,如果换成下面的代码
<form>
<input type="button" value="0.3915.toFixed(3)" onclick="alert((0.435*0.9).toFixed(3))" >
</form>
结果跟上面的一样,但如果再稍微更改一下,变成
onclick="alert((0.435*90/100).toFixed(3))"
结果就变成了0.391,这是为什么呢?
怎么得到正确的结果

解决方案 »

  1.   

    alert((0.435*90/100)) //0.39149999
    alert((0.435*0.9)) //0.3915你改成下面的形式就对了
    alert((0.435*(90/100)).toFixed(3))"改变了计算优先级,就很可能会导致不一样的结果。
      

  2.   

    alert((0.435*(90/100)).toFixed(3))按你之前的写法,你先不用.toFixed()
    直接:alert(0.435*90/100);//你就会发现运算后结果是:0.3914999……
      

  3.   

    alert((0.435*90/100)) //0.39149999
    如果得到的是这样的结果的话,那问题是出在哪里呢?
      

  4.   

    onclick="alert((0.435*(90/100)).toFixed(3))"
    运算符顺序问题