我正在制作一个简单的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 "/>