我有以下代码:
在厘米字段中键入一个值以将该值转换为英尺:
<p>
<label>Centimeter</label>
<input id="inputCentimeter" type="number" placeholder="Centimeter"
oninput="LengthConverter(this.value)"
onchange="LengthConverter(this.value)">
</p>
<p>Feet: <span id="outputFeet"></span></p>
<script>
function LengthConverter(valNum) { document.getElementById("outputFeet").innerHTML=valNum*0.0328084.toFixed(2);
}
</script>
在大多数输入中,返回输出具有正确的格式,但在某些给定尺寸(例如 155cm)上,它返回几个小数:
155 Cm=4.6499999999999995 Ft
用()
包装前面的操作。它首先评估号码上的function
调用,因此首先0.0328084.toFixed(2)
然后是valNum
的结果。
(valNum*0.0328084).toFixed(2)
例
function LengthConverter(valNum) {
document.getElementById("outputFeet").innerHTML = (valNum*0.0328084).toFixed(2);
}
<p>
<label>Centimeter</label>
<input id="inputCentimeter" type="number" placeholder="Centimeter"
oninput="LengthConverter(this.value)"
onchange="LengthConverter(this.value)">
</p>
<p>Feet: <span id="outputFeet"></span></p>
只需先计算值,然后再向上舍入。要首先计算值,请将它们放在括号内。
(valNum*0.0328084).toFixed(2)
您的代码在下面进行了修改。
<p>
<label>Centimeter</label>
<input id="inputCentimeter" type="number" placeholder="Centimeter"
oninput="LengthConverter(this.value)"
onchange="LengthConverter(this.value)">
</p>
<p>Feet: <span id="outputFeet"></span></p>
<script>
function LengthConverter(valNum) { document.getElementById("outputFeet").innerHTML=(valNum*0.0328084).toFixed(2);
}
</script>