相关疑难解决方法(0)

Math.round(num)vs num.toFixed(0)和浏览器不一致

请考虑以下代码:

for (var i=0;i<3;i++){
   var num = i + 0.50;
   var output = num + " " + Math.round(num) + " " + num.toFixed(0);
   alert(output);
}
Run Code Online (Sandbox Code Playgroud)

在Opera 9.63中我得到:

0.5 1 0

1.5 2 2

2.5 3 2

在FF 3.03我得到:

0.5 1 1

1.5 2 2

2.5 3 3

在IE 7中我得到:

0.5 1 0

1.5 2 2

2.5 3 3

注意粗体结果.为什么会出现这种不一致的情况?这是否意味着toFixed(0)应该避免?将数字舍入到最接近的整数的正确方法是什么?

javascript cross-browser

51
推荐指数
4
解决办法
7万
查看次数

标签 统计

cross-browser ×1

javascript ×1