Round: примеры (JAVASCRIPT)

JavaScript функция round: особенности округления с примерами
Раздел: Математика, Округление
round(number): number

Функция Math.round() в JavaScript выполняет округление числа до ближайшего целого значения. Она используется для математических операций, где требуется точность до целых чисел, например, при расчете количества элементов, округлении результатов вычислений или финансовых операций.

Особенности работы функции

Функция принимает один обязательный аргумент - число, которое необходимо округлить. Возвращаемое значение - целое число, полученное по правилам математического округления: дробные части меньше 0.5 округляются в меньшую сторону, а 0.5 и больше - в большую.

При округлении отрицательных чисел работает то же правило: -1.5 округляется до -1, а -1.6 до -2. Для специальных числовых значений функция ведет себя следующим образом: NaN возвращает NaN, Infinity возвращает Infinity, а -Infinity возвращает -Infinity.

Базовые примеры применения

Math.round(1.4);
1
Math.round(1.5);
2
Math.round(-1.4);
-1
Math.round(-1.5);
-1
Math.round(0);
0

Другие функции округления в JavaScript

Math.floor() - округление в меньшую сторону до ближайшего целого. Для отрицательных чисел округляет от нуля. Math.ceil() - округление в большую сторону. Для отрицательных чисел округляет к нулю. Math.trunc() - отбрасывает дробную часть без округления. Для финансовых расчетов с контролем направления округления выбирают Math.floor или Math.ceil, тогда как Math.round применяют для стандартного математического округления.

Частые ошибки при использовании

Ожидание точного округления десятичных дробей может привести к неожиданным результатам из-за двоичного представления чисел в JavaScript.

Math.round(1.005 * 100) / 100;
1

Неправильный результат возникает из-за того, что 1.005 * 100 равно 100.49999999999999. Для точных операций с деньгами рекомендуется использовать целые числа (центы вместо рублей) или специальные библиотеки.

Изменения в современных версиях

Функция Math.round() остается стабильной и неизменной с первых версий ECMAScript. Ее поведение не менялось в последних спецификациях. Единственное уточнение - добавление в стандарт ES2015 четкого определения округления для значений -0.5 и +0.5 к большему по модулю целому.

Расширенные варианты использования

Округление до определенного количества знаков после запятой с помощью множителя.

Пример javascript
function roundTo(num, decimals) {
  const factor = 10 ** decimals;
  return Math.round(num * factor) / factor;
}
roundTo(1.235, 2);
1.24

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

Пример javascript
function roundBitwise(num) {
  return (num + 0.5) | 0;
}
roundBitwise(1.7);
2

Округление больших чисел с проверкой на переполнение.

Пример javascript
Math.round(1.0e+20);
100000000000000000000

Аналогичные функции в других языках

PHP: round() поддерживает дополнительные параметры точности и режимы округления. Python: round() использует банковское округление (округление половины к четному). MySQL: ROUND() позволяет указать количество знаков после запятой. C: round() из math.h работает аналогично, но возвращает double.

# Python
round(2.5)
2
-- MySQL
SELECT ROUND(1.235, 2);
1.24

JS round function comments

En
Round Returns the value of a number rounded to the nearest integer