Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как округлить число вверх или вниз

Короткий ответ

Math.ceil() округляет вверх, Math.floor() — вниз, Math.round() — к ближайшему:

console.log(Math.ceil(4.2));
console.log(Math.floor(4.8));
console.log(Math.round(4.5));

Результат:

5
4
5

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

Для отрицательных чисел вниз — значит дальше от нуля. Чтобы просто отбросить дробную часть, используйте Math.trunc():

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

Результат:

-5
-4

До десятков или сотен

Разделите, округлите и умножьте обратно:

console.log(Math.round(1234 / 100) * 100);
console.log(Math.ceil(41 / 10) * 10);

Результат:

1200
50

Сколько страниц

Типичная задача для округления вверх — число страниц для списка:

const items = 95;
const perPage = 20;
 
console.log(Math.ceil(items / perPage));

Результат:

5

Частая ошибка

Math.round() округляет половину вверх, к большему числу, даже для отрицательных:

console.log(Math.round(-2.5));

Результат:

-2

Функции из этого ответа

  • Math.ceil — Округляет число вверх до целого.
  • Math.floor — Округляет число вниз до целого.
  • Math.round — Округляет число до ближайшего целого.
  • Math.trunc — Отбрасывает дробную часть числа.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.