.tofix(2) 返回小数后 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>

在大多数输入中,返回输出具有正确的格式,但在某些给定尺寸(例如 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>

最新更新