0

簡単な計算式が欲しい。私はw3schoolsの例を取り上げました:

これは myd 調整コードです。

<!DOCTYPE html>
<html>
<body>

<form oninput="x.value=parseFloat(a.value).round(2)* parseFloat(b.value).round(2)">
<input type="number" id="a" value="50">
+<input type="number" id="b" value="50">
=<output name="x" for="a b"></output>
</form>

<p><strong>Note:</strong> The output tag is not supported in Internet Explorer.</p>

</body>
</html>

round(2) (form oninput) を追加すると、機能しません。私がそれを削除すると、それは機能します。しかし、小数点の後にいくつかの数値を追加すると、ゼロがたくさんある数値がたくさん得られます。

2桁の出力が欲しいだけです。

誰でも私を助けてくれますか?

このリンクもチェックアウトします:

float を小数点以下 2 桁で解析する

しかし、私はそれを機能させることができません

4

1 に答える 1

2

0.11 と 0.12 を乗算するとします。どちらも小数点以下 2 桁です。結果は 0.132 で、3 個あります。これは、正確に表現できる数値を使用していると仮定した場合です。ほとんどの 10 進数は表現できません。

入力を丸めるのではなく、出力を丸める必要があります。

x.value = (a.value*b.value).round(2);

roundそうは言っても、そのように使用する機能ではないと思います。これを行う必要があると思います:

x.value = Math.round(a.value*b.value*100)/100;

*はその引数を ( とは異なり+) 自動的に数値にキャストするため、明示的に をキャストする必要がないことに注意してくださいparseFloat

于 2013-10-01T09:05:47.233 に答える