Your Search Results

    ceil

    Summary

    The Math.ceil() function returns the smallest integer greater than or equal to a number, that is

    Math.ceil(x)=x=min{y:yx}\mathtt{\operatorname{Math.ceil}(x)} = \left\lceil x \right\rceil = \min \left{ y \in \mathbb{Z} : y \geq x \right}

    Syntax

    Math.ceil(x) 

    Parameters

    x
    A number.

    Description

    Because ceil is a static method of Math, you always use it as Math.ceil(), rather than as a method of a Math object you created.

    Examples

    Example: Using Math.ceil

    The following example shows example usage of Math.ceil().

    Math.ceil(.95); // 1
    Math.ceil(4); // 4
    Math.ceil(7.004) // 8

    Example: Decimal adjustment

    // Closure
    (function(){
    
    	/**
    	 * Decimal adjustment of a number.
    	 *
    	 * @param	{String}	type	The type of adjustment.
    	 * @param	{Number}	value	The number.
    	 * @param	{Integer}	exp		The exponent (the 10 logarithm of the adjustment base).
    	 * @returns	{Number}			The adjusted value.
    	 */
    	function decimalAdjust(type, value, exp) {
    		// If the exp is undefined or zero...
    		if (typeof exp === 'undefined' || +exp === 0) {
    			return Math[type](value);
    		}
    		value = +value;
    		exp = +exp;
    		// If the value is not a number or the exp is not an integer...
    		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
    

    Specifications

    Specification Status Comment
    ECMAScript 1st Edition. Implemented in JavaScript 1.0 Standard Initial definition.
    ECMAScript Language Specification 5.1th Edition (ECMA-262) Standard  
    ECMAScript Language Specification 6th Edition (ECMA-262) Draft  

    Browser compatibility

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

    See also

    Document Tags and Contributors

    Contributors to this page: Sevenspade
    Last updated by: Sevenspade,