Math.ceil()

La función Math.ceil() devuelve el entero mayor o igual más próximo a un número dado.

Sintaxis

Math.ceil(x)

Parámetros

x
Un número.

Valor devuelto

El número entero mayor o igual más próximo que el número dado.

Descripción

Como ceil() es un método estático de Math, siempre debe usarlo como Math.ceil(), en lugar de como un método de un objeto que ha creado Math (Math no es un constructor).

Ejemplos

Utilizando Math.ceil()

El siguiente ejemplo muestra el uso de 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

Ajuste decimal

// Closure
(function() {
  /**
   * Ajuste decimal de un número.
   *
   * @param {String}  type  El tipo de ajuste.
   * @param {Number}  value El número.
   * @param {Integer} exp   El exponente (El logaritmo de ajuste en base 10).
   * @returns {Number} El valor ajustado.
   */
  function decimalAdjust(type, value, exp) {
    // Si exp es undefined o cero...
    if (typeof exp === 'undefined' || +exp === 0) {
      return Math[type](value);
    }
    value = +value;
    exp = +exp;
    // Si el valor no es un número o exp no es un entero...
    if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0)) {
      return NaN;
    }
    // Shift
    value = value.toString().split('e');
    value = Math[type](+(value[0] + 'e' + (value[1] ? (+value[1] - exp) : -exp)));
    // Shift back
    value = value.toString().split('e');
    return +(value[0] + 'e' + (value[1] ? (+value[1] + exp) : exp));
  }

  // Decimal round
  if (!Math.round10) {
    Math.round10 = function(value, exp) {
      return decimalAdjust('round', value, exp);
    };
  }
  // Decimal floor
  if (!Math.floor10) {
    Math.floor10 = function(value, exp) {
      return decimalAdjust('floor', value, exp);
    };
  }
  // Decimal ceil
  if (!Math.ceil10) {
    Math.ceil10 = function(value, exp) {
      return decimalAdjust('ceil', value, exp);
    };
  }
})();

// Round
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
// Floor
Math.floor10(55.59, -1);   // 55.5
Math.floor10(59, 1);       // 50
Math.floor10(-55.51, -1);  // -55.6
Math.floor10(-51, 1);      // -60
// Ceil
Math.ceil10(55.51, -1);    // 55.6
Math.ceil10(51, 1);        // 60
Math.ceil10(-55.59, -1);   // -55.5
Math.ceil10(-59, 1);       // -50

Espicificaciones

Especificación Estado Comentario
ECMAScript 1st Edition (ECMA-262) Standard Definición inicial. Implementado en JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
La definición de 'Math.ceil' en esta especificación.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
La definición de 'Math.ceil' en esta especificación.
Standard
ECMAScript Latest Draft (ECMA-262)
La definición de 'Math.ceil' en esta especificación.
Draft

Compatibilidad en navegadores

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome para AndroidFirefox para AndroidOpera para AndroidSafari en iOSSamsung InternetNode.js
ceilChrome Soporte completo 1Edge Soporte completo 12Firefox Soporte completo 1IE Soporte completo 3Opera Soporte completo SiSafari Soporte completo 1WebView Android Soporte completo 1Chrome Android Soporte completo 18Firefox Android Soporte completo 4Opera Android Soporte completo SiSafari iOS Soporte completo 1Samsung Internet Android Soporte completo 1.0nodejs Soporte completo Si

Leyenda

Soporte completo  
Soporte completo

Ver también