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



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

在下面的例子中,我对a/b输入进行除法运算,并在c中返回结果,假设你输入633/33,它返回的数字如下: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 "/>

最新更新