2

私はこれをやっています:

var refundAmount = parseFloat($('#refundAmount2').val().replace('$',''));
var refundReceived = $('#refundReceived');
var remainderAmount = refundAmount-parseFloat(refundReceived.val().replace('$',''));

alert(parseInt(remainderAmount).toFixed(2));

何をしても、結果は常に小数点以下 2 桁が '.00' で終わります。したがって、最初の数値が 200.12 で 2 番目の数値が 100.08 の場合、100.04 で警告されるはずですが、代わりに 100.00 が返されます。

なぜこれが起こっているのでしょうか?

4

2 に答える 2

6

その数値をparseInt整数toFixed(2)に変換してから、小数点以下 2 桁の数値に変換していました。整数に小数点以下 2 桁を追加すると、常に になり.00ます。

試す

alert(remainderAmount.toFixed(2));

デモを参照してください。

于 2013-04-17T15:38:49.137 に答える
1

parseInt() で int として取得してから、toFixed() を実行しています。したがって、intに小数点以下を入れています。

于 2013-04-17T15:39:36.403 に答える