Number.isInteger()
方法用于判断一个数值是否为整数。
语法
Number.isInteger(value)
参数
value
: 需要检测的值。
返回值
如果 value
是整数,则返回 true
;否则返回 false
。
描述
Number.isInteger()
方法会检查提供的参数是否为整数。该方法对于确保数值是整数非常有用,特别是在需要处理精确度和类型检查的情况下。
示例
基本示例
console.log(Number.isInteger(25)); // true console.log(Number.isInteger(25.5)); // false console.log(Number.isInteger("25")); // false
与其它数据类型的比较
console.log(Number.isInteger(true)); // false console.log(Number.isInteger(null)); // false console.log(Number.isInteger(undefined)); // false
使用 NaN 和 Infinity
console.log(Number.isInteger(NaN)); // false console.log(Number.isInteger(Infinity)); // false console.log(Number.isInteger(-Infinity)); // false
处理负数
console.log(Number.isInteger(-42)); // true console.log(Number.isInteger(-42.0)); // true console.log(Number.isInteger(-42.1)); // false
与其它函数的区别
Number.isInteger()
与 Math.floor()
的区别:
console.log(Math.floor(42.9) === 42); // true console.log(Number.isInteger(42.9)); // false
与 parseInt() 的区别
parseInt()
会将字符串转换成整数,但可能会丢失精度或返回不正确的结果:
console.log(parseInt("42.9")); // 42 console.log(Number.isInteger(42.9)); // false
在实际应用中的使用
假设你需要从用户输入中获取一个整数值,并进行某些操作,可以使用 Number.isInteger()
来验证输入:
-- -------------------- ---- ------- -------- ------------------- - ----- --- - ------------------ -- ----------------------- - ----------------------- -------- --------- - ---- - -------------------- ------ ------ ----- -- ----------- - - ------------------- -- ---------- -------- -- --------------------- -- ------- ------ ------ ----- -- -------- ----------------- - --------- -- ------- ------ ------ ----- -- --------
注意事项
- 如果传入的参数不是数字,或者是一个浮点数,该方法将返回
false
。 Number.isInteger()
不会对非数字类型的值进行隐式转换,例如布尔值、字符串等。
兼容性
Number.isInteger()
方法是 ECMAScript 6 引入的功能,在现代浏览器和环境中得到广泛支持。但是,如果你的应用需要支持旧版浏览器(如 Internet Explorer),则可能需要使用 polyfill 或其他替代方案来实现相同的功能。