Método JavaScript Math.ceil
El método Math.ceil se utiliza para redondear el valor numérico, es decir, para obtener el entero más pequeño mayor o igual al valor numérico. La sintaxis es la siguiente:
Math.ceil (x)
Descripción del parámetro:
| parámetro | ilustrar |
|---|---|
| incógnita | Requerido. Debe ser un valor numérico. |
Consejo: Este método es exactamente lo opuesto al método de Math.Loor.
Math.ceil Método Ejemplo
<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)); </scritch>
Ejecute este ejemplo y salida:
1
10
-10
-10
¿Error en el método Math.ceil?
Intente ejecutar el siguiente ejemplo:
<script language = "javascript"> document.write (math.ceil (2.1/0.7)); </script> El resultado de ejecutar este ejemplo no es obtener 3 como esperábamos (2.1/0.7 = 3), sino 4. Esto obviamente es contrario a nuestro sentido común. ¿Es un error en el método Math.ceil?
La situación real es que al realizar cálculos 2.1/0.7, se procesan de acuerdo con los números de puntos flotantes. Debido a las relaciones binarias, es imposible que las computadoras sean completamente precisas para los números de punto flotante (es decir, generalmente pierden un poco de progreso), por lo que el resultado del cálculo de 2.1/0.7 no es exactamente igual a 3, pero supera 3 un poco (aproximadamente: 3.0000000000000000044409). Entonces, después de que la expresión se aplica a Math.Ceil (), el resultado es 4.
Con respecto al problema de la función de techo inexacta, también se mencionó en el artículo "Soluciones para la comparación y el redondeo inexacto de los números de puntos flotantes de PHP comparación y redondeo de soluciones inexactas" que en PHP, la función redonda () se puede procesar fácilmente. Sin embargo, Math.round () en JavaScript es demasiado áspero, por lo que se debe escribir una función por separado para lidiar con este tipo de situación, es decir, todos los valores excesivos después de 1 punto decimal se eliminan, y se utiliza el método Math.ceil ().