Number.isInteger()

Number.isInteger()

尝试一下

function fits(x, y) {

if (Number.isInteger(y / x)) {

return "Fits!";

}

return "Does NOT fit!";

}

console.log(fits(5, 10));

// Expected output: "Fits!"

console.log(fits(5, 11));

// Expected output: "Does NOT fit!"

语法

jsNumber.isInteger(value)

参数

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。)

示例

使用 isInteger

jsNumber.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,因为精度损失

Number.isInteger(4500000000000000.1); // true,因为精度损失

规范

Specification

ECMAScript® 2026 Language Specification# sec-number.isinteger

浏览器兼容性

Loading…

参见

core-js 中 Number.isInteger 的 polyfill

Number

Help improve MDN

Was this page helpful to you?

Yes

No

Learn how to contribute

This page was last modified on ⁨2025年10月23日⁩ by MDN contributors.

View this page on GitHub • Report a problem with this content

相关推荐

Microsoft365个人版 如何打开 TTF 文件 ▷➡️

如何打开 TTF 文件 ▷➡️

📅 10-15 👁️ 7175
365彩票手机版下载 Ryzen 9 3900X:2020年终回顾、升级与性能测试
Microsoft365个人版 优酷VIP和SVIP有哪些特权?

优酷VIP和SVIP有哪些特权?

📅 08-21 👁️ 6619