Math.round() в JavaScript

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

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

Результат:

4
5

Метод удобно использовать, когда дробная часть не нужна, но важно получить ближайшее значение, а не просто отбросить числа после точки.

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

Math.round() берет число и возвращает ближайшее целое число.

let rating = 4.6;
let roundedRating = Math.round(rating);

console.log(roundedRating);

Результат:

5

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

Синтаксис

Math.round(number)

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

console.log(Math.round(10.49));
console.log(Math.round(10.5));

Результат:

10
11

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

let price = 19.8;
let roundedPrice = Math.round(price);

console.log(price);
console.log(roundedPrice);

Результат:

19.8
20

Как работает округление

Если дробная часть меньше 0.5, число округляется вниз.

console.log(Math.round(7.1));
console.log(Math.round(7.49));

Результат:

7
7

Если дробная часть равна 0.5 или больше, число округляется вверх.

console.log(Math.round(7.5));
console.log(Math.round(7.9));

Результат:

8
8

Это отличие от Math.floor() и Math.ceil(). Они всегда округляют в одну сторону, а Math.round() выбирает ближайшее целое.

Округление до нескольких знаков

Math.round() сам по себе округляет только до целого числа.

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

let value = 4.67;
let result = Math.round(value * 10) / 10;

console.log(result);

Результат:

4.7

Для двух знаков используем 100.

let price = 19.987;
let result = Math.round(price * 100) / 100;

console.log(result);

Результат:

19.99

Такой способ возвращает число. Если нужно именно красиво показать значение с двумя знаками, например 19.90, чаще используют toFixed(2).

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

С отрицательными числами Math.round() тоже округляет до ближайшего целого.

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

Результат:

-4
-5

На значении .5 результат может выглядеть непривычно.

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

Результат:

-4

В JavaScript половина округляется в сторону большего числа. Для -4.5 большим числом будет -4, потому что оно ближе к нулю.

Итого

Math.round() используют, когда нужно округлить число до ближайшего целого.

  • Math.round(4.2) вернет 4.
  • Math.round(4.5) вернет 5.
  • Math.round() возвращает число и не меняет исходную переменную.
  • Для округления до двух знаков можно использовать Math.round(value * 100) / 100.
  • У отрицательных чисел значение .5 округляется в сторону большего числа.