php - remove - strip_tags wordpress
¿Cómo puedo asegurarme de que un flotador siempre se redondeará con PHP? (6)
Quiero asegurarme de que se redondee un flotante en PHP si hay algún decimal, sin preocuparme por las reglas de redondeo matemático. Esta función funcionaría de la siguiente manera:
1.1 to 2
1.2 to 2
1.9 to 2
2.3 to 3
2.8 to 3
Sé que la función round()
existe pero no veo ninguna función para redondear si se encuentra algún decimal. ¿Hay alguna manera fácil de hacer esto?
Me gusta la respuesta de Ash y la elección de Joseph, así que sugiero:
$fig = pow(10, $precision);
Debería funcionar también con valores de precisión cero y negativos es:
var_dump(round_up(1024.654321, -1)); // Output: float(103)
Me gusta la respuesta de Ash, aunque tendría:
$fig = (int) str_pad(''1'', $precision + 1, ''0'');
Tiene sentido que si proporciono la precisión ''2'', esperaría que se redondeara a 2 decimales. Cuestión de elección aunque supongo. Gracias por la respuesta Ash, funciona bien.
Sé que esta pregunta ha sido respondida hace mucho tiempo, pero surgió cuando hice una búsqueda en google sobre el tema. Si desea redondear con precisión, un buen método sería usar la función ceil y multiplicar el número por la cantidad de puntos decimales que desee representar y luego dividir por ese número.
ceil(1024.321*100)/100
produciría 1024.33
Sé que este es un tema antiguo, sin embargo, aparece en Google. Extenderé la respuesta de Blake Plumb con respecto a la precisión.
ceil(1024.321 * 100) / 100;
Multiplicar por 100 y dividir por 100 solo funciona con una centésima parte. Esto no es exacto en décimas, una milésima, cien milésimas, etc.
function round_up($number, $precision = 2)
{
$fig = pow(10, $precision);
return (ceil($number * $fig) / $fig);
}
Resultados:
var_dump(round_up(1024.654321, 0)); // Output: float(1025)
var_dump(round_up(1024.654321, 1)); // Output: float(1024.7)
var_dump(round_up(1024.654321, 2)); // Output: float(1024.66)
var_dump(round_up(1024.654321, 3)); // Output: float(1024.655)
var_dump(round_up(1024.654321, 4)); // Output: float(1024.6544)
var_dump(round_up(1024.654321, 5)); // Output: float(1024.65433)
var_dump(round_up(1024.654321, 6)); // Output: float(1024.654321)
Notas:
Gracias por las contribuciones de Joseph McDermott y brandom por mejorar mi fragmento original.
Usa la función ceil
:
$number = ceil(1.1); //2
Ceil hará eso por ti
Tomado del ejemplo:
<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
echo ceil(-3.14); // -3
?>