当输入用作结果框时,有没有办法限制输入中的十进制字符数?

Is there a way to limit the number of decimal characters in an input when its used as a result box?

我正在做一个简单的 html,我根据不同的输入进行计算,并使用纯 js 在其他输入中显示结果。

在下面的示例中,我将 a / b 输入和 return 结果除以 c,假设您将 633 / 33 return 设为这样的数字:19.181818181818183

有没有办法让 19.18 看起来像?

对结果输入使用 maxlength 属性将不起作用,因为它限制了您可以输入的字符数,而不是您可以发送到的字符数。

<input type="text" id="input1"  style="width: 100px " onkeyup='divide_numbers()'/> 
<label> / </label> 
<input type="text" id="input2"  style="width: 100px " onkeyup='divide_numbers()'/>
 <label> = </label> 
<input type="text" id="result"  style="width: 100px "/>
<script>
function divide_numbers() {
var first_number = parseFloat(document.getElementById("input1").value) ;
var second_number = parseFloat(document.getElementById("input2").value) ;
document.getElementById("result").value=first_number/second_number ;
}
</script>

您可以使用 +number.toFixed(2),它会先创建一个小数点后两位数字的字符串,然后将其强制转换回数字,删除不必要的小数位。

function add_numbers() {
  var first_number = parseFloat(document.getElementById("input1").value) ;
  var second_number = parseFloat(document.getElementById("input2").value) ;
  document.getElementById("result").value = +(first_number/second_number).toFixed(2);
}
<input type="text" id="input1"  style="width: 100px " onkeyup='add_numbers()'/> 
<label> / </label> 
<input type="text" id="input2"  style="width: 100px " onkeyup='add_numbers()'/>
 <label> = </label> 
<input type="text" id="result"  style="width: 100px "/>