Функція Math.ceil() повертає найменше ціле число, що є більшим або дорівнює даному числу.

 

 

Синтаксис

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 Latest Draft (ECMA-262)
The definition of 'Math.ceil' in that specification.
Draft  

Підтримка у браузерах

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

Дивіться також

Мітки документа й учасники

Зробили внесок у цю сторінку: AdriandeCita, Marx64, artemyavorskyi
Востаннє оновлена: AdriandeCita,