В 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   

Запомни это исключение. Оно может попасться на собеседовании.