Подтвердить что ты не робот

Как определить, является ли заданное число целым?

Как я могу проверить переменную, чтобы выяснить, содержит ли она число, и это целое число?

например.

if (1.589 == integer) // false
if (2 == integer) // true

Любые подсказки?

4b9b3361

Ответ 1

num % 1 === 0

Это преобразует num, чтобы сначала напечатать Number, поэтому любое значение, которое может быть преобразовано в целое число, пройдет тест (например, '42', true).

Если вы хотите исключить их, дополнительно проверьте

typeof num === 'number'

Вы также можете использовать parseInt() для этого, то есть

parseInt(num) == num

для нетипизированной проверки и

parseInt(num) === num

для типизированной проверки.

Обратите внимание, что тесты не эквивалентны: проверка через parseInt() сначала преобразуется в String, поэтому, например, true не пройдет проверку.

Также обратите внимание, что нетипизированная проверка через parseInt() будет корректно обрабатывать шестнадцатеричные строки, но будет сбой для восьмеричных (то есть числовых строк с начальным нулем), поскольку они распознаются parseInt(), но не Number(). Если вам нужно обрабатывать десятичные строки с ведущими нулями, вам нужно указать аргумент radix.

Ответ 2

Это работает:

if (Math.floor(x) == x)

Ответ 4

Вы можете использовать формальное определение integer:

Math.floor(x) === x

Ответ 5

Как насчет этого:

if((typeof(no)=='number') && (no.toString().indexOf('.')==-1))

Ответ 6

Не работает ли это:

if (parseInt(number, 10) == number)
{
  alert(number + " is an integer.");
}

Ответ 7

вы можете либо использовать возможности разбора javas, либо попробовать modulo operator%...

Ответ 8

Существует функция javascript, называемая isNaN (val), которая возвращает true, если val не является числом.

Если вы хотите использовать val как число, вам нужно использовать с помощью parseInt() или parseFloat()

EDIT: упс. Исправлена ​​ошибка, указанная в комментарии