最終値に小さな問題があります。小数第2位に丸める必要があります。
_var pri='#price'+$(this).attr('id').substr(len-2);
$.get("sale/price?output=json", { code: v },
function(data){
$(pri).val(Math.round((data / 1.19),2));
});
});
_
どんな助けも大歓迎です。
解決策:$(pri).val(Math.round((data / 1.19 * 100 )) / 100);
数値に100を掛け、丸め、結果の数値を100で除算するだけです。
文字列として2桁の小数に視覚的にフォーマットする場合(出力用) toFixed()
を使用します。
_var priceString = someValue.toFixed(2);
_
@Davidによる答えには2つの問題があります。
結果を浮動小数点数として残すため、特定の結果を小数点以下の桁数で表示する可能性があります。 _134.1999999999
_の代わりに_"134.20"
_。
値が整数であるか、10分の1に丸められる場合、追加の10進数値は表示されません。
_var n = 1.099;
(Math.round( n * 100 )/100 ).toString() //-> "1.1"
n.toFixed(2) //-> "1.10"
var n = 3;
(Math.round( n * 100 )/100 ).toString() //-> "3"
n.toFixed(2) //-> "3.00"
_
また、上記でわかるように、toFixed()
を使用する方がはるかに簡単に入力できます。 ;)