JavaScript Math.ceil method
The Math.ceil method is used to round up a value, that is, to obtain the smallest integer greater than or equal to the value. The syntax is as follows:
Math.ceil(x)
Parameter description:
参数 | 说明 |
---|---|
x | 必需。必须是一个数值。 |
Tip: This method is the exact opposite of the Math.floor method.
Math.ceil method instance
<script language="JavaScript"> document.write( Math.ceil(0.35) + "<br />" ); document.write( Math.ceil(10) + "<br />" ); document.write( Math.ceil(-10) + "<br />" ); document.write( Math.ceil(-10.1) ); </script>
Run this example, output:
1
10
-10
-10
Math.ceil method error?
Try running the following example:
The result of this example is not as expected. 3 (2.1/0.7= 3), but 4. This is obviously contrary to our common sense. Is it an error in the Math.ceil method?
The real situation is that when calculating 2.1/0.7, it is processed as floating point numbers. Due to the binary system, computers cannot be completely accurate with floating point numbers (that is, they usually lose a little progress), so the calculation result of 2.1/0.7 is not exactly equal to 3, but a little more than 3 (approximately: 3.00000000000000044409) . So after Math.ceil() is applied to this expression, the result is 4 .
Regarding the issue of inaccurate ceil function, it was also mentioned in the article "Solution to Inaccurate PHP Floating Point Calculation Comparison and Rounding". Round() can be conveniently used in PHP function to process. However, Math.round() in JavaScript is too rough, so a separate function must be written to handle this situation, that is, remove all excess values after 1 decimal point, and then use the Math.ceil() method.