3

次のようなhtml5電卓を構築しています

<form onsubmit="return false" oninput="o.value = a.valueAsNumber + b.valueAsNumber"<br>
    <input name="a" id="a" type="number" step="any"> +<br>
    <input name="b" id="b" type="number" step="any"> =<br>
    <output name="o" for="a b"></output><br>
</form>

結果を小数点以下 2 桁に丸めます。

4

2 に答える 2

4

toFixedは、探しているものを実現するもう1つの方法であり、0かどうかに関係なく、常に小数点以下の桁数を表示します。

<form onsubmit="return false" oninput="o.value = (a.valueAsNumber + b.valueAsNumber).toFixed(2)"<br>
    <input name="a" id="a" type="number" step="any"> +<br>
    <input name="b" id="b" type="number" step="any"> =<br>
    <output name="o" for="a b"></output><br>
</form>​

ライブデモ

于 2012-06-17T00:43:37.370 に答える
2

これは小数点以下第2位に四捨五入されます。

Math.round(num * 100)/100

これはより一般的なバージョンであり、設定された数の場所に丸められます。

function roundNumber(num, places) {
    return Math.round(num * Math.pow(10, places)) / Math.pow(10, places);
}

roundNumber(24.2424, 2)
24.24
于 2012-06-17T00:41:44.340 に答える