<script language="JavaScript">
function test()
{
alert(20.365.toFixed(2));
alert(20.364.toFixed(2));
alert(20.366.toFixed(2));
alert(20.355.toFixed(2));
alert(20.354.toFixed(2));
alert(20.356.toFixed(2));
}
</script>
<body onload="test();">
function test()
{
alert(20.365.toFixed(2));
alert(20.364.toFixed(2));
alert(20.366.toFixed(2));
alert(20.355.toFixed(2));
alert(20.354.toFixed(2));
alert(20.356.toFixed(2));
}
</script>
<body onload="test();">
在Fixfox下依次弹出,20.36,20.36,20.37 20.36,20.35,20.36
很明显这跟C#中的round方法是一样的,采用了银行家舍入方法,"四舍六入五取偶".
对IE和FireFox对JavaScript的解析有差异早就有所耳闻,于是动手改早前先在IE里测试一下,结果果然不同
在IE下依次弹出20.37,20.36,20.37 20.36,20.35,20.36
很显然,IE下才用了四舍五入的算法.
微软真是怪异,干吗非要不走寻常路.