如何在JavaScript中编写程序判断数值是否为float类型?
JavaScript判断数值是否为带小数的数值(模拟float类型判断)
在JavaScript里,没有单独的float类型——所有数字都是Number类型(本质是双精度浮点值),所以我们实际要判断的是「这个数值是否包含小数部分」,而非严格意义上的float类型。
针对你的kToc函数,这里提供两种实用的判断方法,以及修改后的代码示例:
方法一:使用Number.isInteger()判断
通过判断数值不是整数,来确认它是带小数的数值:
function isFloat(num) { // 先确保是Number类型,再判断不是整数 return typeof num === 'number' && !Number.isInteger(num); }
方法二:利用取模运算判断
通过数值对1取模的结果是否不为0,结合排除非有效数值(比如NaN、无穷大):
function isFloat(num) { return typeof num === 'number' && isFinite(num) && (num % 1 !== 0); }
应用到你的kToc函数中
修改后的函数可以加入判断逻辑:
function kToc() { let userInput2 = parseInt(document.getElementById('in2').value); let kcFormula = userInput2 - 273.15; // 加入判断逻辑 if (typeof kcFormula === 'number' && !Number.isInteger(kcFormula)) { // 这里添加你需要的后续条件逻辑 console.log('kcFormula是带小数的数值'); } res2.innerHTML = kcFormula; }
注意:当前代码里userInput2用了parseInt转为整数,所以kcFormula必然是带小数的结果(整数减273.15肯定有小数部分)。如果后续你修改了userInput2的获取方式(比如允许输入小数,不用parseInt),上面的判断方法依然能生效。
内容的提问来源于stack exchange,提问作者ahyu
相关产品推荐
相关产品推荐

