Number.isInteger()
基线 广泛可用
此功能已得到很好的建立,可以在许多设备和浏览器版本中使用。它自 2015 年 7 月.
报告反馈
试一试
语法
Number.isInteger()
静态方法用于确定传递的值是否为整数。Number.isInteger(value)
js
参数
-
value
要测试是否为整数的值。
返回值
描述
如果给定值为整数,则为布尔值 true
。否则为 false
。
如果目标值为整数,则返回 true
,否则返回 false
。如果值为 NaN
或 Infinity
,则返回 false
。该方法还将为可以表示为整数的浮点数返回 true
。如果该值不是数字,则该方法始终返回 false
。
请注意,一些数字字面量虽然看起来不像整数,但实际上表示整数 - 这是由于 ECMAScript 浮点数编码(IEEE-754)的精度限制。例如,5.0000000000000001
仅与 5
相差 1e-16
,这太小而无法表示。(作为参考,Number.EPSILON
存储 1 与大于 1 的下一个可表示浮点数之间的距离,约为 2.22e-16
。)因此,5.0000000000000001
将使用与 5
相同的编码表示,从而使 Number.isInteger(5.0000000000000001)
返回 true
。
示例
类似地,围绕 Number.MAX_SAFE_INTEGER
数量级的数字会受到精度损失的影响,即使它不是整数,也会使 Number.isInteger
返回 true
。(实际阈值会根据表示小数所需的位数而有所不同 - 例如,Number.isInteger(4500000000000000.1)
为 true
,但 Number.isInteger(4500000000000000.5)
为 false
。)
Number.isInteger()
静态方法用于确定传递的值是否为整数。Number.isInteger(0); // true
Number.isInteger(1); // true
Number.isInteger(-100000); // true
Number.isInteger(99999999999999999999999); // true
Number.isInteger(0.1); // false
Number.isInteger(Math.PI); // false
Number.isInteger(NaN); // false
Number.isInteger(Infinity); // false
Number.isInteger(-Infinity); // false
Number.isInteger("10"); // false
Number.isInteger(true); // false
Number.isInteger(false); // false
Number.isInteger([1]); // false
Number.isInteger(5.0); // true
Number.isInteger(5.000000000000001); // false
Number.isInteger(5.0000000000000001); // true, because of loss of precision
Number.isInteger(4500000000000000.1); // true, because of loss of precision
规范
使用 isInteger |
---|
规范 # ECMAScript 语言规范 |
浏览器兼容性
sec-number.isinteger