Math.ceil()
Функція Math.ceil()
повертає найменше ціле число, що є більшим або дорівнює даному числу.
Джерело цих інтерактивних прикладів зберігається у репозиторії на GitHub. Якщо ви маєте бажання зробити свій внесок у проект інтерактивних прикладів - будь ласка, зклонуйте репозиторій https://github.com/mdn/interactive-examples та пришліть нам pull request.
Синтаксис
Math.ceil(x)
Параметри
x
- Число.
Результат
Найменше ціле число, що є більшим або дорівнює даному числу.
Опис
Оскільки ceil()
є статичним методом Math
, він завжди використовується як Math.ceil()
, а не метод створеного Вами об'єкту Math
(Math
не є конструктором).
Приклади
Використання Math.ceil()
Наступні приклади демонструють використання Math.ceil()
.
Math.ceil(.95); // 1
Math.ceil(4); // 4
Math.ceil(7.004); // 8
Math.ceil(-0.95); // -0
Math.ceil(-4); // -4
Math.ceil(-7.004); // -7
Робота з десятковими числами
// Замикання
(function() {
/**
* Десяткове вирівнювання числа.
*
* @param {String} type Тип вирівнювання.
* @param {Number} value Число.
* @param {Integer} exp Показник степеня (десятковий логарифм від основи округлення).
* @returns {Number} Вирівняне значення.
*/
function decimalAdjust(type, value, exp) {
// Якщо показник степеня невизначений, або 0...
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.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
Специфікації
Специфікація | Статус | Коментар |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Первинне визначення. Реалізовано у JavaScript 1.0. |
ECMAScript 5.1 (ECMA-262) The definition of 'Math.ceil' in that specification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Math.ceil' in that specification. |
Standard | |
ECMAScript (ECMA-262) The definition of 'Math.ceil' in that specification. |
Living Standard |
Підтримка у браузерах
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.