--- title: Math.ceil() slug: Web/JavaScript/Reference/Global_Objects/Math/ceil tags: - JavaScript - Math - Phương Thức - Tham khảo translation_of: Web/JavaScript/Reference/Global_Objects/Math/ceil ---
Hàm Math.ceil() trả về số nguyên nhỏ nhất có giá trị lớn hơn hoặc bằng số đã cho.
Lưu ý: Math.ceil({{jsxref("null")}}) trả về số nguyên 0 và không đưa ra lỗi {{jsxref("NaN")}}.
Math.ceil(x)
xSố nguyên nhỏ nhất có giá trị lớn hơn hoặc bằng số đã cho (bằng tham số).
Do ceil() là phương thức tĩnh của Math, nên ta phải khai báo là Math.ceil(), thay vì dùng nó như 1 phương thức của đối tượng được tạo ra từ Math (Math không phải hàm tạo).
Math.ceil()Ví dụ sau minh họa cách dùng Math.ceil() điển hình.
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
// Đóng kín
(function() {
/**
* Tinh chỉ số thập phân của một con số.
*
* @param {String} type Loại điều chỉnh.
* @param {Number} value Số liệu.
* @param {Integer} exp Số mũ (the 10 logarithm of the adjustment base).
* @returns {Number} Giá trị đã chỉnh sửa.
*/
function decimalAdjust(type, value, exp) {
// Nếu exp có giá trị undefined hoặc bằng không thì...
if (typeof exp === 'undefined' || +exp === 0) {
return Math[type](value);
}
value = +value;
exp = +exp;
// Nếu value không phải là ố hoặc exp không phải là số nguyên thì...
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));
}
// Làm tròn số thập phân (theo mốc số 5)
if (!Math.round10) {
Math.round10 = function(value, exp) {
return decimalAdjust('round', value, exp);
};
}
// Làm tròn số thập phân (về gần giá trị 0)
if (!Math.floor10) {
Math.floor10 = function(value, exp) {
return decimalAdjust('floor', value, exp);
};
}
// Làm tròn số thập phân (ra xa giá trị 0)
if (!Math.ceil10) {
Math.ceil10 = function(value, exp) {
return decimalAdjust('ceil', value, exp);
};
}
})();
// Chạy hàm 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
// Chạy hàm 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
// Chạy hàm 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
| Thông số kỹ thuật | Trạng thái | Chú thích |
|---|---|---|
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Định nghĩa đầu tiên được đưa vào JavaScript 1.0. |
| {{SpecName('ES5.1', '#sec-15.8.2.6', 'Math.ceil')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-math.ceil', 'Math.ceil')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-math.ceil', 'Math.ceil')}} | {{Spec2('ESDraft')}} |
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.
{{Compat("javascript.builtins.Math.ceil")}}