当输入用作结果框时,有没有办法限制输入中的十进制字符数?
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 "/>
我正在做一个简单的 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 "/>