今天偶然用到js的四舍五入
也是我走背字儿,随便从网上搜了个toFixed就用了
一直都用firebug调,一切顺利
结果到了IE上怎么也过不去了
最后搜了半天,才看出来是它的问题
简单说
trSize = 0.6;
trSize = Number(trSize).toFixed();
IE 6,7,8得出的结果是0 用的IETester
FF3 chrome得出的结果是 1
这么恶劣的东东,直接放弃了
用 trSize = Math.round(trSize);
从网上搜了一个常用的做备份
http://www.logang.com/article.asp?id=62
写道
/*
* ForDight(Dight,How):数值格式化函数,Dight要
* 格式化的 数字,How要保留的小数位数。
*/
function ForDight(Dight,How)
{
Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);
return Dight;
}
alert(ForDight(12345.67890,2));
* ForDight(Dight,How):数值格式化函数,Dight要
* 格式化的 数字,How要保留的小数位数。
*/
function ForDight(Dight,How)
{
Dight = Math.round (Dight*Math.pow(10,How))/Math.pow(10,How);
return Dight;
}
alert(ForDight(12345.67890,2));
本文探讨了JavaScript中使用toFixed()方法进行四舍五入时遇到的浏览器兼容性问题,尤其是在IE6-8中出现的结果异常。通过对比不同浏览器的表现,提出了一种更稳定的替代方案Math.round(),并分享了一个自定义的数值格式化函数。
262

被折叠的 条评论
为什么被折叠?



