Как округлить число вверх или вниз
Короткий ответ
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 — Отбрасывает дробную часть числа.