<html>
<script>
function fahrenheitToCelcius(temp) {
return (parseFloat(temp) - 32) * (5 / 9);
}
function isNumber(value) {
return typeof (value) != "boolean" && !isNaN(value) && value.length > 0;
}
function minMaxTemp(value, min, max, unit) {
console.log("function called");
if (value.length == 0 || value == "-") return value;
if (!isNumber(value)) return value.substring(0, value.length - 1);
if (unit == 1) value = fahrenheitToCelcius(value);
if (parseFloat(value) < min)
return min;
else if (parseFloat(value) > max)
return max;
else return value;
}
</script>
<table class="center">
<tr>
<th>Setpoint</th>
<th><input id="setPoint" type="text" name="setPoint" value="4" onkeyup="this.value = minMaxTemp(this.value, -80, 150, 0)" /></th>
</tr>
</table>
</html>
- 代碼對最小值和最大值起作用,但它仍然輸出我不希望它做的小數點值,即 4.5
- 該函式必須只輸出整數,即 4 ,5, 7 而不是例如 4.0, 5.8, 7.6
- 下面是帶有 Web 表單和 javascript 函式的代碼
- 感謝您提供的任何幫助
uj5u.com熱心網友回復:
根據您是要向下舍入還是向上舍入,您可以使用Math.floor()或Math.ceil()。
<th><input id="setPoint" type="text" name="setPoint" value="4" onkeyup="this.value = Math.floor(minMaxTemp(this.value, -80, 150, 0))" /></th>
MDN 檔案:https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor
uj5u.com熱心網友回復:
由于從您的預期輸出看起來您希望小數點四舍五入,我建議使用 JavaScript 的 Math.floor 函式將值四舍五入到最接近的整數
IE
Math.floor(3.712)
將回傳值 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/350010.html
標籤:javascript html 网络表格
