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>

当我添加回合(2)(输入形式)时,它将不起作用。如果我删除它,它会工作。但是如果我在小数点后添加一些数字,我会得到一大堆带有很多零的数字。

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

谁能帮帮我?

我还检查了这个链接:

用两位小数解析浮点数

但我无法让它工作

4

1 回答 1

2

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

而不是四舍五入的输入,你应该四舍五入的输出:

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