js で toFix() メソッドを使用したことのある人は、このメソッドに小さなバグがあることを知っているはずです。
IE と FF では、小数の桁上げが少し異なります。
たとえば、IE では (0.005) toFix(2)=0.00、FF では toFix(2)=0.01 となります。
これにより、データに差異が生じます。
このメソッドをオーバーライドすることで精度の統一を実現できます。
Number.prototype.toFixed = function(s) )
{
return (parseInt(this * Math.pow( 10, s ) 0.5)/ Math.pow( 10, s )).toString(); 🎜>しかし、これにはまだ問題があり、すべてのブラウザで String("0.050").toFix(2)=0.1
最初は小数点以下 2 桁を保持するつもりだったのが 1 桁になっていることがわかります。 つまり。このオーバーライドの唯一の toFixed() は、最後の 0 を自動的に破棄します。
このメソッドをさらに処理する必要があります。
コードをコピー
changenum=(parseInt(this * Math.pow( 10, s ) 0.5)/ Math.pow( 10, s )).toString();
index=changenum.indexOf(" .") ;
if(index0){
changenum=changenum ".";
for(i=0;ichangenum=changenum "0 ";
}
}else {
index=changenum.length-index;
for(i=0;i変更番号 = 変更番号 "0";
}
}
変更番号を返します