Проверка числа на дробное методом isInteger() у класса Number
Можно использовать конструктор Number и его метод проверки на целое число isInteger():
Number.isInteger(10) true Number.isInteger(10.1) false
Если метод возвращает true, значит число целое
Если метод возвращает false, значит число НЕ целое
Стало быть если мы хотим проверять есть ли дробная часть у числа, то нам нужно применить отрицание.
!Number.isInteger(10) false !Number.isInteger(10.1) true
Результат вызовов:
Стандарт ECMAScript — Раздел «21.1.2.3 Number.isInteger ( number )» — https://tc39.es/ecma262/#sec-number.isinteger
Проверка числа на дробное методом includes() у класса String
Можно просто попытаться привести число к строке и проверить существование точки в этой строке.
String(10).includes('.') false String(10.1).includes('.') true
Если точка есть в строке, значит число дробное.
Проверка числа на дробное через округление
Можно использовать конструктор Math и его методы округления чисел:
- ceil( ) — округление до наибольшего целого
- floor( ) — округление до наименьшего целого
- round( ) — округление до ближайшего целого
Вариант 1 — Округление до наибольшего целого — ceil( )
Метод ceil( ). Если после округления до наибольшего целого — числа не равны, то оно является дробным. Условие будет выглядеть так:
(Math.ceil(a) != a)
Примеры
(Math.ceil(1) != 1)
Math.ceil(1) 1
Вопрос: Округлённое число «1» (Math.ceil(1)) не равно числу «1«? Ответ: «НЕТ, округлённое число «1» равно числу «1«, а значит не является дробным» — false
Math.ceil(0.125) != 0.125
Math.ceil(0.125) 1
Вопрос: Округлённое число «1» (Math.ceil(0.125)) не равно числу «0,125«? Ответ: «ДА, округлённое число «1» не равно числу «0,125«, а значит является дробным» — true
Вариант 2 — Округление до наименьшего целого — floor( )
(Math.floor(a) != a)
Примеры
(Math.floor(2) != 2) false
Math.floor(2) 2
(Math.floor(2.99) != 2.99) true
Math.floor(2.99) 2
Вариант 3 — Округление до ближайшего целого — round( )
(Math.round(a) != a)
Примеры
(Math.round(5) != 5) false
Math.round(5) 5
(Math.round(5.5) != 5.5) false
Math.round(5.5) 6
Информационные ссылки
JavaScript | Как умножать дробные на целые?
Стандарт ECMAScript — https://tc39.es/ecma262/
Стандарт ECMAScript — Раздел «20.3 The Math Object» — https://tc39.es/ecma262/#sec-math-object
Стандарт ECMAScript — Раздел «20.3.2.10 Math.ceil ( x )» — https://tc39.es/ecma262/#sec-math.ceil