strip_tags remove quitar para funcion etiquetas ent_quotes ejemplo php floating-point rounding precision ceil

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