В JavaScript есть несколько способов округлить число. Функция Math.floor
округляет число вниз. Она принимает число n
и возвращает самое большое целое число, которое меньше или равно n
.
Базовое использование Math.floor в JavaScript
С положительными числами, может показаться, что мы просто отбрасываем дробную часть.
console.log(Math.floor(7.25)); // 7
console.log(Math.floor(1.11)); // 1
console.log(Math.floor(0.99)); // 0
Если попробовать округлить вниз целое число, то оно не изменится.
console.log(Math.floor(5)); // 5
console.log(Math.floor(100)); // 100
Отрицательные числа будут тоже округлены вниз. Но не по модулю, а по актуальному значению. Правило “отбросить дробную часть” тут уже не сработает.
console.log(Math.floor(-2.1)); // -3
console.log(Math.floor(-9.5)); // -10
Другие типы данных
Чисто технически в Math.floor
можно передать любое значение. Строку, логическую переменную, объект или даже функцию.
JavaScript попробует конвертировать входящий аргумент в число. Если получится, то все будет работать нормально.
console.log(Math.floor("2.22")); // 2
console.log(Math.floor(true)); // 1
console.log(Math.floor("-1.5")); // -2
А если не получится, то результатом будет NaN
— “не число”.
console.log(Math.floor("hello")); // NaN
console.log(Math.floor({name: 'John', age: '25'})); // NaN
console.log(Math.floor(console.log)); // NaN
Исключения
Значения null
и undefined
ведут себя по-разному. В первом случае мы получим 0
, а во втором NaN
.
console.log(Math.floor(null)); // 0
console.log(Math.floor(undefined)); // NaN
Запомни это исключение. Оно может попасться на собеседовании.