javascript如何判断值是否为整数?使用攻略
javascript如何判断一个值是否为整数?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否为整数的方法。
方法1:使用取余运算符判断
任何整数都会被1整除,即余数是0;我们可以利用这个规则来判断是否是整数。
示例:先先判断下对象是否是number类型,在判断是否为整数。
function isInteger(obj) {
return typeof obj === 'number' && obj%1 === 0
}
isInteger(3) // true
isInteger(3.3) // false
方法2:使用Math.round、Math.ceil、Math.floor判断
整数取整后还是等于自己;可以利用这个特性来判断是否是整数。
Math对象的round、ceil、floor方法都可以对一个数进行舍入取整。
示例:使用Math.round
function isInteger(obj) {
return Math.round(obj) === obj
}
isInteger(3) // true
isInteger(3.3) // false
方法3:通过位运算判断
function isInteger(obj) {
return (obj | 0) === obj
}
isInteger(3) // true
isInteger(3.3) // false
isInteger('') // false
isInteger('3') // false
isInteger(true) // false
isInteger([]) // false
//这个函数很不错,效率还很高。但有个缺陷,上文提到过,位运算只能处理32位以内的数字,对于超过32位的无能为力
isInteger(Math.pow(2, 32)) // 32位以上的数字返回false了
方法4:使用ES6提供的Number.isInteger()
Number.isInteger()方法可以可以检测参数是否为整数;如果是整数返回true,否则返回false。
示例:
Number.isInteger(3) // true
Number.isInteger(3.1) // false
Number.isInteger('') // false
Number.isInteger('3') // false
目前,最新的Firefox和Chrome已经支持。