当前位置: 代码迷 >> JavaScript >> JS银行家难点,高手来
  详细解决方案

JS银行家难点,高手来

热度:262   发布时间:2012-11-10 10:48:51.0
JS银行家难题,高手来
<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,这是为什么呢?
怎么得到正确的结果

------解决方案--------------------
alert((0.435*90/100)) //0.39149999
alert((0.435*0.9)) //0.3915

你改成下面的形式就对了
alert((0.435*(90/100)).toFixed(3))"

改变了计算优先级,就很可能会导致不一样的结果。
------解决方案--------------------
探讨

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