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是另一种实现您正在寻找的方法,并且将始终显示小数位,无论它们是否为 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

这将四舍五入到小数点后两位。

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 回答