如何修改JavaScript温度校验函数使其仅输出整数,无小数点数值
解决方案
修改逻辑
- 在华氏度转摄氏度的单位转换完成后,新增取整逻辑消除小数部分
- 取整后再进行最大最小值范围校验,保证最终返回结果为无小数位的整数
- 可根据实际需求选择取整方法:
Math.round():四舍五入取整(温度场景最常用)Math.trunc():直接截断小数部分,仅保留整数位Math.floor():向下取整Math.ceil():向上取整
修改后的核心代码
仅需要修改minMaxTemp函数即可,原有其他逻辑保持不变:
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); // 新增取整逻辑,默认使用四舍五入,可按需替换为其他取整方法 value = Math.round(parseFloat(value)); if (parseFloat(value) < min) return min; else if (parseFloat(value) > max) return max; else return value; }
修改后会自动将所有带小数的数值转为整数,不会出现4.0、5.8这类非整数返回结果,原有的非数字过滤、范围校验等功能完全保留。
内容的提问来源于stack exchange,提问作者Ben reaby
相关产品推荐
相关产品推荐

