Javascript html输出2位数字

Javascript html输出2位数字,javascript,html,Javascript,Html,我想要一张简单的计算表。 我以W3TE学校为例: 这是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="

我想要一张简单的计算表。 我以W3TE学校为例:

这是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>

+
=
注意:Internet Explorer不支持输出标记

当我添加第(2)轮(表单oninput)时,它将不起作用。 如果我移除它,它会工作的。但是如果我在小数点后加上一些数字,我会得到一大堆有很多泽罗数的数字

我只想要一个2位数的输出

有人能帮我吗

我也签出此链接:


但是我无法让它工作

假设你将0.11和0.12相乘,这两个数字都有两个小数位。结果是0.132,其中有三个。这是假设你使用的数字可以准确地表示:大多数十进制数字不能

您应该对输出进行四舍五入,而不是对输入进行四舍五入:

x.value = (a.value*b.value).round(2);
话虽如此,我不认为
round
是这样使用的函数。我认为你需要这样做:

x.value = Math.round(a.value*b.value*100)/100;
请注意,由于
*
自动将其参数强制转换为数字(与
+
不同),因此无需显式地
解析浮点值