我正在构建一个看起来像
的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>
并希望将结果四舍五入到小数点。
答案 0 :(得分:3)
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>
<强> Live Demo 强>
答案 1 :(得分: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