- JavaScript Math.round()
- JavaScript Rounding Functions
- Syntax
- Parameters
- Return Value
- Browser Support
- COLOR PICKER
- Report Error
- Thank You For Helping Us!
- Function round #
- Syntax #
- Parameters #
- Returns #
- Throws #
- Examples #
- Math.round()
- Синтаксис
- Параметры
- Описание
- Примеры
- Пример: использование метода Math.round()
- Пример: корректировка округления десятичных дробей
- Спецификации
- Совместимость с браузерами
- Смотрите также
- Math . floor ( ) , Math . round ( ) , Math . ceil ( ) и Math . trunc ( )
- Как пишется
- На практике
- Николай Лопин советует
JavaScript Math.round()
The Math.round() method rounds a number to the nearest integer.
2.49 will be rounded down (2), and 2.5 will be rounded up (3).
JavaScript Rounding Functions
Syntax
Parameters
Return Value
Browser Support
Math.round() is an ECMAScript1 (ES1) feature.
ES1 (JavaScript 1997) is fully supported in all browsers:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |
COLOR PICKER
Report Error
If you want to report an error, or if you want to make a suggestion, do not hesitate to send us an e-mail:
Thank You For Helping Us!
Your message has been sent to W3Schools.
Top Tutorials
Top References
Top Examples
Get Certified
W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.
Function round #
Round a value towards the nearest rounded value. For matrices, the function is evaluated element wise.
Syntax #
Parameters #
Parameter | Type | Description |
---|---|---|
x | number | BigNumber | Fraction | Complex | Array | Matrix | Number to be rounded |
n | number | BigNumber | Array | Number of decimals Default value: 0. |
Returns #
Throws #
Examples #
math.round(3.22) // returns number 3 math.round(3.82) // returns number 4 math.round(-4.2) // returns number -4 math.round(-4.7) // returns number -5 math.round(3.22, 1) // returns number 3.2 math.round(3.88, 1) // returns number 3.9 math.round(-4.21, 1) // returns number -4.2 math.round(-4.71, 1) // returns number -4.7 math.round(math.pi, 3) // returns number 3.142 math.round(123.45678, 2) // returns number 123.46 const c = math.complex(3.2, -2.7) math.round(c) // returns Complex 3 - 3i math.round([3.2, 3.8, -4.7]) // returns Array [3, 4, -5]
Math.round()
Метод Math.round() возвращает число, округлённое к ближайшему целому.
Синтаксис
Параметры
Описание
Если дробная часть числа больше, либо равна 0,5, аргумент будет округлён до ближайшего большего целого. Если дробная часть числа меньше 0,5, аргумент будет округлён до ближайшего меньшего целого.
Поскольку метод round() является статическим методом объекта Math , вы всегда должны использовать его как Math.round() , а не пытаться вызывать метод на созданном экземпляре объекта Math (поскольку объект Math не является конструктором).
Примеры
Пример: использование метода Math.round()
// Вернёт значение 20 x = Math.round(20.49); // Вернёт значение 21 x = Math.round(20.5); // Вернёт значение -20 x = Math.round(-20.5); // Вернёт значение -21 x = Math.round(-20.51); // Вернёт значение 1 (!) // Обратите внимание на ошибку округления из-за неточности арифметики с плавающей запятой // Сравните этот результат с результатом Math.round(1.005, -2) из следующего примера x = Math.round(1.005*100)/100;
Пример: корректировка округления десятичных дробей
// Замыкание (function() /** * Корректировка округления десятичных дробей. * * @param type Тип корректировки. * @param value Число. * @param exp Показатель степени (десятичный логарифм основания корректировки). * @returns Скорректированное значение. */ function decimalAdjust(type, value, exp) // Если степень не определена, либо равна нулю. if (typeof exp === 'undefined' || +exp === 0) return Math[type](value); > value = +value; exp = +exp; // Если значение не является числом, либо степень не является целым числом. if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) return NaN; > // Сдвиг разрядов value = value.toString().split('e'); value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp))); // Обратный сдвиг value = value.toString().split('e'); return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp)); > // Десятичное округление к ближайшему if (!Math.round10) Math.round10 = function(value, exp) return decimalAdjust('round', value, exp); >; > // Десятичное округление вниз if (!Math.floor10) Math.floor10 = function(value, exp) return decimalAdjust('floor', value, exp); >; > // Десятичное округление вверх if (!Math.ceil10) Math.ceil10 = function(value, exp) return decimalAdjust('ceil', value, exp); >; > >)(); // Округление к ближайшему Math.round10(55.55, -1); // 55.6 Math.round10(55.549, -1); // 55.5 Math.round10(55, 1); // 60 Math.round10(54.9, 1); // 50 Math.round10(-55.55, -1); // -55.5 Math.round10(-55.551, -1); // -55.6 Math.round10(-55, 1); // -50 Math.round10(-55.1, 1); // -60 Math.round10(1.005, -2); // 1.01 -- сравните этот результат с результатом Math.round(1.005*100)/100 выше // Округление вниз Math.floor10(55.59, -1); // 55.5 Math.floor10(59, 1); // 50 Math.floor10(-55.51, -1); // -55.6 Math.floor10(-51, 1); // -60 // Округление вверх Math.ceil10(55.51, -1); // 55.6 Math.ceil10(51, 1); // 60 Math.ceil10(-55.59, -1); // -55.5 Math.ceil10(-59, 1); // -50
Спецификации
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
- Math.abs()
- Math.ceil()
- Math.floor()
- Math.sign() Экспериментальная возможность
- Math.trunc() Экспериментальная возможность
Math . floor ( ) , Math . round ( ) , Math . ceil ( ) и Math . trunc ( )
Объект Math содержит набор методов, который используется для округления чисел:
- round ( ) — округление по обычным правилам;
- floor ( ) — округление вниз;
- ceil ( ) — округление вверх;
- trunc ( ) — отбрасывание дробной части, не обращая внимания на знак аргумента.
Как пишется
Скопировать ссылку «Как пишется» Скопировано
Для обычного округления используйте Math . round ( ) :
console.log(Math.round(15.52))// 16 console.log(Math.round(15.3))// 15
console.log(Math.round(15.52)) // 16 console.log(Math.round(15.3)) // 15
Округление до ближайшего целого в большую сторону — Math . ceil ( ) :
console.log(Math.ceil(15.52))// 16 console.log(Math.ceil(15.3))// 16
console.log(Math.ceil(15.52)) // 16 console.log(Math.ceil(15.3)) // 16
Округление до ближайшего целого в меньшую сторону — Math . floor ( ) :
console.log(Math.floor(15.52))// 15 console.log(Math.floor(15.3))// 15
console.log(Math.floor(15.52)) // 15 console.log(Math.floor(15.3)) // 15
🛠 Используйте осторожно при работе с отрицательными числами:
console.log(Math.floor(-15.3))// -16
console.log(Math.floor(-15.3)) // -16
Так происходит потому что -16 меньше, чем -15, а округление происходит в меньшую сторону.
Отбрасывание дробной части — Math . trunc ( )
console.log(Math.trunc(15.52))// 15 console.log(Math.trunc(-15.3))// -15 console.log(Math.trunc(0.123))// 0 console.log(Math.trunc(-0.123))// -0
console.log(Math.trunc(15.52)) // 15 console.log(Math.trunc(-15.3)) // -15 console.log(Math.trunc(0.123)) // 0 console.log(Math.trunc(-0.123)) // -0
На практике
Скопировать ссылку «На практике» Скопировано
Николай Лопин советует
Скопировать ссылку «Николай Лопин советует» Скопировано
🛠 Разные виды округления нужны в разных ситуациях:
- когда нужно разбить данные на страницы и посчитать общее количество страниц, используйте округление вверх: const total Pages = Math . ceil ( total Items / items Per Page ) .
- когда нужно выбрать случайный элемент массива, используйте округление вниз: Math . floor ( Math . random ( ) * array . length ) .