Math.floor() в JavaScript

Math.floor() округляет число вниз до ближайшего целого.

console.log(Math.floor(4.2));
console.log(Math.floor(4.8));

Результат:

4
4

Метод не смотрит, какая дробная часть у числа. Для положительных чисел он всегда возвращает целую часть без дроби.

Что делает Math.floor()

Math.floor() возвращает ближайшее целое число, которое меньше или равно исходному числу.

let price = 19.99;
let result = Math.floor(price);

console.log(result);

Результат:

19

Такой способ нужен, когда дробную часть нельзя округлять вверх. Например, если нужно посчитать только полные единицы.

Синтаксис

Math.floor(number)

Метод принимает одно значение - число, которое нужно округлить вниз.

console.log(Math.floor(10.01));
console.log(Math.floor(10.99));

Результат:

10
10

Math.floor() возвращает новое значение и не меняет исходную переменную.

let value = 7.9;
let roundedValue = Math.floor(value);

console.log(value);
console.log(roundedValue);

Результат:

7.9
7

Положительные числа

С положительными числами Math.floor() похож на отбрасывание дробной части.

console.log(Math.floor(3.1));
console.log(Math.floor(3.5));
console.log(Math.floor(3.9));

Результат:

3
3
3

Поэтому метод часто используют, когда нужно получить целую часть от результата деления.

Полные единицы в расчетах

Допустим, у нас есть количество минут, и нужно узнать, сколько полных часов прошло.

let minutes = 135;
let hours = Math.floor(minutes / 60);

console.log(hours);

Результат:

2

135 / 60 дает 2.25, но полных часов только 2. Поэтому здесь подходит именно округление вниз.

Случайное целое число

Math.floor() часто используют вместе с Math.random(), чтобы получить случайное целое число.

let number = Math.floor(Math.random() * 10);

console.log(number);

Так получится целое число от 0 до 9.

Если нужен диапазон от 1 до 10, можно прибавить 1.

let number = Math.floor(Math.random() * 10) + 1;

console.log(number);

Здесь Math.random() * 10 дает число от 0 до 10, но 10 не включается. После Math.floor() получается диапазон от 0 до 9, а + 1 сдвигает его до 1 - 10.

Отрицательные числа

С отрицательными числами важно помнить: Math.floor() округляет вниз по числовой оси.

console.log(Math.floor(-4.2));
console.log(Math.floor(-4.8));

Результат:

-5
-5

Это не то же самое, что просто отбросить дробную часть. Если нужно именно отбросить дробную часть, используйте Math.trunc().

console.log(Math.floor(-4.8));
console.log(Math.trunc(-4.8));

Результат:

-5
-4

Итого

Math.floor() используют, когда число нужно округлить вниз.

  • Math.floor(4.2) вернет 4.
  • Math.floor(4.8) тоже вернет 4.
  • Метод подходит для подсчета полных единиц: часов, дней, страниц, групп.
  • Вместе с Math.random() его часто используют для получения случайного целого числа.
  • Для отрицательных чисел Math.floor() округляет вниз по числовой оси, а не просто убирает дробную часть.