如何检查数字是浮点数还是整数?

2022-08-29 22:26:52

如何找到一个数字是 或 ?floatinteger

1.25 --> float  
1 --> integer  
0 --> integer  
0.25 --> float

答案 1

除以 1 时检查余数:

function isInt(n) {
   return n % 1 === 0;
}

如果您不知道参数是一个数字,则需要两个测试:

function isInt(n){
    return Number(n) === n && n % 1 === 0;
}

function isFloat(n){
    return Number(n) === n && n % 1 !== 0;
}

在编写此答案 5 年后,更新 2019 年,ECMA 脚本 2015 中对解决方案进行了标准化。该解决方案已在本答案中介绍。


答案 2

请尝试这些函数来测试值是否为没有小数部分的基数值,并且是否在可表示为精确整数的大小限制范围内。

function isFloat(n) {
    return n === +n && n !== (n|0);
}

function isInteger(n) {
    return n === +n && n === (n|0);
}