Movatterモバイル変換


[0]ホーム

URL:


  1. 面向开发者的 Web 技术
  2. JavaScript
  3. JavaScript 参考
  4. JavaScript 标准内置对象
  5. Number
  6. Number.isInteger()

此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in EnglishAlways switch to English

Number.isInteger()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年9月⁩.

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!"

语法

js
Number.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

js
Number.isInteger(0); // trueNumber.isInteger(1); // trueNumber.isInteger(-100000); // trueNumber.isInteger(99999999999999999999999); // trueNumber.isInteger(0.1); // falseNumber.isInteger(Math.PI); // falseNumber.isInteger(NaN); // falseNumber.isInteger(Infinity); // falseNumber.isInteger(-Infinity); // falseNumber.isInteger("10"); // falseNumber.isInteger(true); // falseNumber.isInteger(false); // falseNumber.isInteger([1]); // falseNumber.isInteger(5.0); // trueNumber.isInteger(5.000000000000001); // falseNumber.isInteger(5.0000000000000001); // true,因为精度损失Number.isInteger(4500000000000000.1); // true,因为精度损失

规范

Specification
ECMAScript® 2026 Language Specification
# sec-number.isinteger

浏览器兼容性

参见

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp