Определить, является ли число целым числом в JavaScript
В этом посте мы обсудим, как определить, является ли число целым числом с помощью JavaScript.
1. Использование Number.isInteger() метод
Нативный JavaScript Number.isInteger() Метод определяет, является ли предоставленное значение целым числом или нет.
Обратите внимание, что этот метод возвращает false для NaN или же Infinity и возвращает true для чисел с плавающей запятой, которые могут быть представлены как целое число. например, 10.0 .
Number.isInteger()
Метод Number.isInteger() определяет, является ли переданное значение целым числом.
Интерактивный пример
Синтаксис
Параметры
Значение, проверяемое на целочисленность.
Возвращаемое значение
Boolean сообщающий о том, является ли переданное значение целочисленным числом.
Описание
Если целевое значение является целым числом, возвращает true . Если значение NaN или Infinity , то возвращает false . Метод также возвращает true , если это вещественное число с точкой, которое может быть представлено в целочисленном виде.
Работа с числами в JavaScript

В JavaScript в отличие от некоторых других языков имеется только один числовой тип number . В нём используется формат чисел с плавающей точкой двойной точности по стандарту IEEE 754.
То есть, в JavaScript нет отдельного формата для целых чисел. Все числа в JavaScript имеют плавающую точку.
Пример записи чисел:
Как показано в примере, в JavaScript числа можно записывать в экспоненциальной форме, а также задавать в других системах счисления: в восьмеричной (впереди 0 ) и шестнадцатеричной (впереди 0x ).
Узнать какой тип данных содержит переменная можно с помощью typeof :
Кроме чисел, формат number также содержит специальные числовые значения:
- положительную бесконечность: Infinity ;
- отрицательную бесконечность: -Infinity ;
- не число: NaN .
Примеры выражений, результаты вычисления которых возвращают специальные числовые значения:
В JavaScript не возникают ошибки при выполнении математических операций. Если в результате вычисления получается очень большое число или очень маленькое выходящее за допустимые границы, то интерпретатор возвращает соответственно Infinity или -Infinity .
NaN возвращается, когда интерпретатор JavaScript не может вычислить математическую операцию. Например, когда мы попытаемся от числа 3 отнять строку ‘1rem’ .
Числовой тип number является примитивным типом. Но при этом к числам можно применять методы как к объектам. Это осуществляется посредством обёртки Number . Она содержит дополнительные значения и методы для работы с числами:
В этом примере мы применили к примитивному типу данных метод toString() как к объекту. При вызове метода числа автоматически оборачиваются в обёртку Number() , а у обёртки имеется метод toString() . Этот метода преобразует число в строку. Этот пример показывает, что числа ведут себя как объекты, хотя на самом деле ими не являются.
При этом использовать обёртку Number напрямую для создания чисел крайне не рекомендуется:
В этом примере num1 и num2 имеют разные типы.
Если необходимо использовать методы на числе, то его нужно обернуть в круглые скобки или поставить точку дважды:
Кстати, на самом деле в JavaScript 2 числовых типа данных. Второй тип был добавлен в спецификацию ECMAScript 2020 (11 редакция). Называется он bigint . Этот тип предназначен для представления очень больших целых чисел и на практике используется только для чисел, которые слишком велики для представления с помощью number .
Ограничения по максимальному размеру и точность чисел
В JavaScript при сложении чисел с дробной частью можно получить не то число, которое ожидали.
Погрешности происходят, потому что компьютер оперирует числами в двоичной системе счисления. Т.е. перед тем, как выполнить какие-то действия компьютер сначала должен преобразовать представленные в выражении числа в двоичную систему. Но, не любое десятичное число с дробной частью можно точно представить в двоичной системе счисления.
Например, число 0.2510 в двоичную систему преобразуется точно:
Например, число 0.210 можно преобразовать в двоичную систему только с определённой точностью:
В результате эти погрешности скажутся при вычислении выражений и это нужно учитывать при написании кода в JavaScript.
Для этого вычислениях или при выводе чисел с дробной частью необходимо всегда указывать точность, с которой это необходимо делать.
Например, перепишем код, приведённый выше с определённой точностью используя метод toFixed :
В этом примере, мы сначала с использованием метода toFixed(2) получили строковое представление числа, которое является результатом сложения чисел 0.2 и 0.4 , округленных до 2 знаков после точки. После этого с помощью метода parseFloat преобразовали текст в число и полученное значение присвоили переменной num .
Потеря точности может быть связана также с целыми числами, которые выходят за пределы безопасного диапазона:
Получить минимальное и максимальное безопасное целое число можно с помощью констант:
Теперь, если проверим число, приведённое выше, то увидим что оно больше безопасного:
Кроме этого, проверить находится ли целое число в пределах безопасного диапазона можно посредством метода isSafeInteger :
Основные арифметические операторы
В JavaScript имеются следующие математические операторы:
- сложение: + ;
- вычитание: — ;
- умножение: * ;
- деление: / ;
- остаток от деления: % ;
- возведение в степень: ** ;
- увеличение значения переменной на 1: ++ ;
- уменьшение значения переменной на 1: — .
Операторы ++ и — можно располагать как перед переменной, так и после неё:
Когда мы располагаем оператор ++ после переменной num , то сначала возвращается значение переменной, и только потом увеличивается её значение на 1 .
В другом случае, когда оператор ++ идёт до переменной num, то сначала увеличивается значение этой переменной на 1 , и только потом возвращается её значение.
Оператор — действует аналогично:
Кроме этого имеются комбинированные операторы: += , -= , *= , /= , %= и **= :
Для сравнения чисел в JavaScript используются следующие операторы :
- равенство с учетом типа: === , с попыткой преобразования: == ;
- не равенство с учетом типа: !== , с попыткой преобразования: != ;
- больше: > , больше или равно: >= ;
- меньше: < , меньше или равно: <= .
При сравнении чисел необходимо учитывать точность:
Способ сравнить число до двух знаков после плавающей точки:
Преобразование строки в число и наоборот
1. Преобразование строки в число
Явно привести строку в число можно разными способами:
1.1. Использовать унарный оператор + , который необходимо расположить перед значением.
Этот способ пренебрегает пробелами в начале и конце строки, а также \n (переводом строки).
При использовании оператора + обратите внимание, что » , ‘ ‘ и ‘\n’ преобразуется в число 0 . Значение null и логические значения приводятся к следующим числам:
1.2. С помощью глобальной функции parseInt() или метода Number.parseInt() . Они предназначены для преобразования значения, переданного им на вход, в целое число . В отличие от использования унарного оператора + , эти методы позволяют преобразовать строку в число, в которой не все символы являются цифровыми . Эти методы преобразовывают строку, начиная с первого символа. И как только встречают символ, не являющийся цифровым, они останавливают дальнейший разбор строки и возвращают полученное число:
Эти функции могут работать с разными системами счисления (двоичной, восьмеричной, десятичной, шестнадцатеричной). Основание системы счисления передаётся в вызов parseInt() или Number.parseInt() в качестве второго аргумента.
Кроме этого рекомендуется всегда указывать основание системы счисления и не полагаться на значение, которое оно имеет в том или ином браузере по умолчанию.
1.3. Для преобразования строки в число с плавающей точкой в JavaScript имеются методы parseFloat() и Number.parseFloat() . Друг от друга они ничем не отличаются, просто последний был добавлен в язык немного позднее:
Метод parseFloat в отличие от parseInt всегда рассматривает строку как число в десятичной системе счисления. Указать ему другую систему счисления нельзя.
2. Преобразование числа в строку.
Превратить число в строку можно с помощью метода toString() .
Дополнительно можно передать систему счисления с учётом которой необходимо явно привести число к строке:
Проверки: isFinite, isNaN, isInteger
Этот метод позволяет проверить, является ли значение конечным числом. В качестве результата isFinite возвращает true , если значение является конечным числом. В противном случае false :
Кроме Number.isFinite в JavaScript имеется также глобальная функция isFinite . Она в отличие от Number.isFinite выполняет проверку с учетом принудительное приведение переданного ей аргумента к числу:
Этот метод объекта Number предназначена для определения того, является ли значение NaN . Если это так, то isNaN возвращает true . В противном случае – false :
Кроме Number.isNaN имеется также глобальный метод isNaN , он выполняет проверку с учетом приведения указанного типа данных к числу:
3. Как проверить, является ли значение числом?
В JavaScript имеется метод, который позволяет определить, является ли значение целым числом. Называется он isInteger :
В этом примере для ’20’ мы получили false , т.к. данное значение является строкой.
Если вам нужно проверить является ли значение числом, при это не важно целям или с плавающей точкой, то можно написать, например, вот такую функцию:
Эта функция в зависимости от результата возвращает true или false .
После этого её можно использовать для проверки следующим образом:
Если нужно проверить строковое значение, то его предварительно нужно преобразовать в строку, например, с помощью метода parseFloat :
При проверке строки ’20px’ мы получили true , потому что метод parseFloat(’20px’) возвращает нам число 20 .
Округление
Округление чисел в JavaScript можно выполнить разными способами.
1. С помощью специальных, предназначенных для этой задачи, методов:
- Math.floor – до ближайшего целого в меньшую сторону;
- Math.ceil – до ближайшего целого в большую сторону;
- Math.round – в большую сторону, если дробная часть >= 0.5; иначе в меньшую сторону;
- Math.trunc – путём отбрасывания дробной части;
2. Посредством toFixed() .
Этот метод округляет дробную часть числа до заданной точности, но результат возвращает в виде строки:
3. Через toPrecision() .
Данный метод возвращает число в строковом формате, округленное с указанной точностью. При этом он может округлить целую и дробную часть числа. При этом значение может быть представлено как с плавающей точкой, так и в экспоненциальной форме:
4. С использованием логического оператора
Форматирование чисел
В JavaScript вывести число в соответствии с региональными стандартами (языковыми настройками операционной системы) позволяет метод toLocaleString() .
В соответствии с настройками установленными в системе:
Явно указав регион:
Для отображения денежных величин:
В процентном формате:
С разделением групп разрядов (свойство useGrouping ):
С указанием числа десятичных знаков:
Примеры
1. Пример, в котором напишем две функции для проверки числа соответственно на четность и не четность . А затем используем их в коде:
2. Пример на JavaScript в котором получим простые числа от 2 до 100:
3. Пример, в котором вычислим целую и дробную часть числа :
В этом примере, получение целой части числа выполняется посредством Math.floor() , а дробной части с помощью получения остатка от деления на 1 или вычитания числа от его целой части.
4. Пример, в котором определим, делится ли число нацело , используя оператор % :
Проверка на целое число
Как в JavaScript проверить является ли число целым или дробью. Метод isInteger для проверки целостности числа. Синтаксис метода isInteger с примерами.

Чтобы узнать является ли значение целым числом или нет, для этого в JS есть специальный метод Number.isInteger()
В зависимости от результата он возвращает булево значение true или false .
Если значение является целым числом, метод возвращает true , в противном случае возвращает false .
Для отрицательных чисел метод работает так же как и для положительных чисел, а для нуля возвращает true
Если значение является NaN или бесконечностью — возвращает false .
Синтаксис метода isInteger:
Готовое решение для задач в которых необходимо генерировать случайные числа в заданном диапазоне, при этом чтобы эти числа были кратны какому то заданному числу.
Сборка арифметических операторов и методов чисел в JavaScript. Всё что связано с математикой в JavaScript с примерами функций и решений, собрано вместе на одной странице.