Javascript 修复了 IE6 中的错误?

标签 javascript internet-explorer-6

我的代码是:

var m=0.00542;
alert(m.toFixed(3));  
alert(m.toFixed(2)); 

预期结果是:0.005 0.01

但是在ie6中,结果是:0.005 0.00

我能做什么?

最佳答案

IE6 坏了。甚至谷歌都不再支持它了。不过,这个特殊问题很容易解决。

要修补Number.toFixed(),定义

Number.prototype.toFixed = function(n) {
    var power = Math.pow(10, n);
    var fixed = (Math.round(this * power) / power).toString();
    if(n == 0) return fixed;
    if(fixed.indexOf('.') < 0) fixed += '.';
    var padding = n + 1 - (fixed.length - fixed.indexOf('.'));
    for(var i = 0; i < padding; i++) fixed += '0';
    return fixed;
};

您的代码现在应该会生成预期的输出。

关于Javascript 修复了 IE6 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10470810/

相关文章:

javascript - 如何将上传的图片显示到当前选定的div中?

javascript - 在什么情况下 document.open() 会返回 null?

jquery - 如何修复 IE6 上的不透明度

javascript - v-for 和 :src that point to reactive variable in Vuejs 的问题

javascript - 编写脚本将我的 csv 信息转换为 JSON 格式

javascript - 使用 javascript 和 jQuery UI datepicker 获取工作日数

javascript - 如何在 IE6/7 中获取 textarea 行高

JavaScript 错误 : Object Required in ie6 & ie7

javascript - IE6 中的绘图功能有多强大?

javascript - 连续挑出一个td