从一个函数看IE和FireFox的区别
最近对Web标准化开发比较感冒,于是总是在用Fixfox做浏览器,不过由于我们正在作的系统完全不支持非IE浏览器,所以只好在开发的时候用IE,在写一些小的测试程序的时候就用Firefox,昨天做的功能要用到四舍五入,于是想到了toFixed()这个函数写了个简单的测试程序并在FixFox 下测试.
在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下才用了四舍五入的算法.
微软真是怪异,干吗非要不走寻常路.
<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下才用了四舍五入的算法.
微软真是怪异,干吗非要不走寻常路.