JavaScript | Как проверить число на дробное?

JavaScript | Как проверить число на дробное?

Проверка числа на дробное методом isInteger() у класса Number

Можно использовать конструктор Number и его метод проверки на целое число isInteger():

Number.isInteger(10)
true

Number.isInteger(10.1)
false

Если метод возвращает true, значит число целое

Если метод возвращает false, значит число НЕ целое

Стало быть если мы хотим проверять есть ли дробная часть у числа, то нам нужно применить отрицание.

!Number.isInteger(10)
false

!Number.isInteger(10.1)
true

Результат вызовов:

Проверили число на дробное методом isInteger() и отрицанием в JavaScript
Проверили число на дробное методом isInteger() и отрицанием в JavaScript

Стандарт 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

Если точка есть в строке, значит число дробное.

Проверили число на дробное методом includes() и отрицанием в JavaScript
Проверили число на дробное методом includes() и отрицанием в JavaScript

 

Проверка числа на дробное  через округление

Можно использовать конструктор Math и его методы округления чисел:

  • ceil( ) — округление до наибольшего целого
  • floor( ) — округление до наименьшего целого
  • round( ) — округление до ближайшего целого

 

Вариант 1 — Округление до наибольшего целого — ceil( )

Метод ceil( ). Если после округления до наибольшего целого — числа не равны, то оно является дробным. Условие будет выглядеть так:

(Math.ceil(a) != a)

Примеры

(Math.ceil(1) != 1)
Math.ceil(1)
1
Округление до наибольшего целого ложно - JavaScript
Округление до наибольшего целого ложно — JavaScript

 

Вопрос: Округлённое число «1» (Math.ceil(1)) не равно числу «1«? Ответ: «НЕТ, округлённое число «1» равно числу «1«, а значит не является дробным» — false

 

Math.ceil(0.125) != 0.125
Math.ceil(0.125)
1
Округление до наибольшего целого истинно - JavaScript
Округление до наибольшего целого истинно — JavaScript

Вопрос: Округлённое число «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
Округление до наименьшего целого ложно - JavaScript
Округление до наименьшего целого ложно — JavaScript

 

(Math.floor(2.99) != 2.99)
true
Math.floor(2.99)
2
Округление до наименьшего целого истинно - JavaScript
Округление до наименьшего целого истинно — JavaScript

 

Вариант 3 — Округление до ближайшего целого — round( )

(Math.round(a) != a)

Примеры

(Math.round(5) != 5)
false
Math.round(5)
5
Округление до ближайшего целого ложно - JavaScript
Округление до ближайшего целого ложно — JavaScript

 

(Math.round(5.5) != 5.5)
false
Math.round(5.5)
6

 

Округление до ближайшего целого истинно - JavaScript
Округление до ближайшего целого истинно — JavaScript

 

Информационные ссылки

JavaScript | Как умножать дробные на целые?

Стандарт ECMAScripthttps://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