1

これは Jquery コードです:</p>

  function Totalprice()
{
    var unitprice=$('#unitpay').val();
    var quota=$('#readers').val();
    var totalprice=unitprice*quota;
    $('#totalprice').text('$'+totalprice);

}

リーダーの値が 67 で単価が 0.3 の場合、合計金額が計算され、$20.1 ではなく $20.099999999999998 が表示されます。どうしたの?$20.099999999999998 ではなく $20.1 を表示したい場合、コードを書き直すにはどうすればよいですか?

4

4 に答える 4

6

これはどう:

$('#totalprice').text('$'+totalprice.toFixed(1));

また:

$('#totalprice').text('$'+totalprice.toFixed(2));

実際の金額として表示します。

于 2009-11-19T06:51:10.657 に答える
5

熱心なコメンテーターが指摘したように、これは浮動小数点エラーです。迅速かつ簡単な解決策は、toFixed() のような丸めメソッドを使用することです。

于 2009-11-19T06:52:25.377 に答える
3

を使用するだけ.toFixed(2)です。(リンク)

問題は、コンピューターが一部の数値を正確に表現できないことです (数値は有限であり、バイナリで動作します)。そのため、このようなことが起こります。

于 2009-11-19T06:52:19.683 に答える
0

Javascript にはかなり深刻な浮動小数点の問題があります。Firebug コンソールに 0.1+0.2 と入力してみてください。

これは jQuery の問題ではありません。上で述べたように、toFixed() を使用します。

于 2009-11-19T12:15:25.810 に答える