私のコードは:
var m=0.00542;
alert(m.toFixed(3));
alert(m.toFixed(2));
期待される結果は:0.005 0.01
しかし、ie6では、結果は:0.0050.00です。
私に何ができる?
私のコードは:
var m=0.00542;
alert(m.toFixed(3));
alert(m.toFixed(2));
期待される結果は:0.005 0.01
しかし、ie6では、結果は:0.0050.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;
};
これで、コードが期待される出力を生成するはずです。