我有以下代码:
在厘米字段中键入一个值,将值转换为英尺:
<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
答案 0 :(得分:2)
使用()
包装先前的操作。它首先评估对该号码的function
调用,因此首先0.0328084.toFixed(2)
然后使用valNum
进行结果。
(valNum*0.0328084).toFixed(2)
实施例
function LengthConverter(valNum) {
document.getElementById("outputFeet").innerHTML = (valNum*0.0328084).toFixed(2);
}
&#13;
<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>
&#13;
答案 1 :(得分:0)
首先计算值,然后进行四舍五入。要首先计算值,请将它们放在括号内。
(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>