1

以下のコードで小数点以下2桁に丸めようとしていますが、多くの場合、小数点以下の桁数を制御するMathRoundメソッドは機能しません。

   var newKitAmount = 1;
   var priceNumber =  168;
   var updatedTotal = Math.round(priceNumber * newKitAmount*100)/100;
   alert("total is : " + updatedTotal); //OUTPUTS 168 instead of 168.00

生成された出力:168

必要な出力:168.00

例2:5 * 2 = 10

必要な出力:10.00

JSフィドル

私は何が間違っているのですか?どうすれば修正できますか?

4

2 に答える 2

9

文字列のドットの後に固定桁数を取得する場合は、 toFixedを使用する必要があります。

var updatedTotal = (priceNumber * newKitAmount).toFixed(2);
于 2012-12-09T14:57:15.487 に答える
1

FirefoxとChromeの違いは、toFixedと同じように丸められないため、関数を使用して丸める必要があります...

function toFixed(a,b){ //where a is the number and b is the number of decimals
    var m = Math.pow(10,b);
    return Math.round(parseFloat(a)*m)/m;
}
于 2013-05-25T19:33:48.263 に答える