问题描述
@H_502_0@我正在制作一个简单的html,其中我根据不同的输入进行计算,并使用纯js将结果显示在其他输入中。
@H_502_0@在下面的示例中,我将a / b输入除以c并返回结果,假设您输入633/33,它将返回这样的数字:19.181818181818183
@H_502_0@有没有办法使外观看起来像19.18?
@H_502_0@将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 "/>