`Math.ceil()` 函数返回大于或等于一个给定数字的最小整数。

Note: Math.ceil() === 向上取整

## 语法

    Math.ceil(x)

### 参数

`x`
  一个数值

### 返回值

大于或等于给定数字的最小整数。

## 描述

由于 `ceil` 是 `Math` 的静态方法，所以应该像这样使用：`Math.ceil()`，而不是作为你创建的 `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

### 例子：十进制调整

    // 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

## 规范

规范版本 | 规范状态 | 注解
--- | --- | ---
ECMAScript 1st Edition. Implemented in JavaScript 1.0 | Standard | Initial definition.
ECMAScript 5.1 (ECMA-262) Math.ceil | Standard |
ECMAScript 2015 (6th Edition, ECMA-262) Math.ceil | Standard |

## 浏览器兼容性

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

- Desktop
- Mobile

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)

## 相关链接

- The `Math` object it belongs to.
- `Math.abs()`
- `Math.floor()`
- `Math.round()`