js 判断一个值是不是整数

110 阅读1分钟

背景:随机输入一个一个值,可能是字符串,可能是浮点数,可能是特殊符号,需要判断输入的值是不是整数;

// 判断是否是整数
function isInteger(obj) {
    let isInt = false;
    if(String(parseInt(obj)) == 'NaN') {
        // 字符串
        isInt = false;
    } else {
        if(parseInt(obj) == obj) {
            isInt = true;
        } else {
            isInt = false;
        }
    }
    return isInt
}

解析:

1、先判断是不是全都是字符串

String(parseInt(obj)) == 'NaN'

2、当 String(parseInt(obj)) != 'NaN' 的时候,还剩几种情况

  • "123abc"
  • "1.2"
  • 123
  • “123”
  • ...

这时候直接判断 parseInt()后是否和自身相等就好了,相等就是整数;

if(parseInt(obj) == obj) {
    isInt = true;
} else {
    isInt = false;
}