Portada » Lenguaje PHP » Redondear números decimales de una manera fácil en PHP

Redondear números decimales de una manera fácil en PHP

Redondear números decimales de una manera fácil en PHP. Más de una oportunidad nos topamos con decimales cuando desarrollamos proyectos de facturación y operadores de PHP, obteniendo decimales muy largos, deformando nuestros resultados.

Para ello utilizaremos diferentes métodos para redondear los resultados de las cifras, es decir, formatear un float para que tenga un número de decimales cualquiera, poniendo límites de 2 a cuatro decimales redondeados a gusto de nuestro desarrollo y también la del cliente.

Entre las funciones matemáticas del Lenguaje PHP se encuentra una de muchas que nos permite redondear los resultados de un float (número en coma flotante o número resultados con decimales) al valor entero más próximo. Se trata de la famosa función round().

Redondear números decimales de una manera fácil en PHP

Para explicar su uso en programación, lo mejor es verlo con ejemplos que mostraremos a continuación:

round(0.7) devolvería el valor entero maximo 1.
round(7.4) devolvería el valor entero maximo 7.

Ejemplos de mode con precisión en el redondeo del decimal.

<?php
/* Usar PHP_ROUND_HALF_UP con precisión de 1 dígito decimal en PHP veamos ejemplos */
echo round( 1.65, 1, PHP_ROUND_HALF_UP); // 1.7
echo round( 1.64, 1, PHP_ROUND_HALF_UP); // 1.6
echo round(-1.65, 1, PHP_ROUND_HALF_UP); // -1.7
echo round(-1.64, 1, PHP_ROUND_HALF_UP); // -1.6
?>

Ejemplo 2

Ahora aplicaremos para redondear números en PHP con dos decimales como resultado.

Dado el valor primero vamos a multiplicarlo por 100 al decimal, lo vamos a redondear y finalmente, el resultado lo vamos a dividir otra vez por 100 veamos.

Para el valor 3.7932. Primero lo multiplicamos por 100. Tenemos el valor 379.32,  Ahora aplicamos el redondeo final, puesto que los 0.32 queremos deshacernos de ellos. Haríamos de esta manera en un «round(379.32)» que nos dará como resultado 379 exactos. Por consiguiente, a este valor dado lo dividimos por 100, para extraer los decimales numéricos, lo que nos da 3.79, que es el valor que queremos obtener como resultado final.

Ahora ese ejemplo lo podremos ver en una función para usarlo, como esta para el redondeo hasta obtener dos cifras decimales exactos:

function redondear_dos_decimales($valores) {
$float_dos_redondeado=round($valores * 100) / 100;
return $float_dos_redondeado;
}

Aquí veremos la aplicacion de la funcion con las cadenas de numeros decimales:

redondear_dos_decimales(4.56666);
redondear_dos_decimales(4.008);
redondear_dos_decimales(4.66);
redondear_dos_decimales(4.199);
redondear_dos_decimales(4.9999);

Veamos como quedaran los resultados en números decimales:

4.57
4.01
4.66
4.2
5

Otros ejemplos como redondear decimales.

En muchas oportunidades lidiar con números decimales es inevitable y tenemos que realizar cálculos cuyos resultado es un número decimal de muchos números y con múltiples dígitos, es decir, un número del tipo: 41.274643564315454343536 cosa que deforma cualquier proyecto web,  si por ejemplo es un precio total de una factura que tenemos que mostrar en la compra.

En el famoso Lenguaje PHP tenemos varios métodos para hacer esto más fácil, utilizando la función «number_format» que por general utilizo en mis proyectos web  o la función round, aunque también podría hacerse con printf. La que más recomiendo es number_format por su versatilidad ya que nos permitirá además definir qué carácter queremos como separador de decimales y cual como separador de miles ya sean comas o puntos.

Veamos algunos ejemplos para utilizar la función number_format:

$numero_decimal = 4422.378476235656;
echo number_format($numero_decimal,2,',','.'); // Nos Mostrará como resultado 4.422,38

Donde numero_decimal será la cadena que albergara los decimales para pasarlo con la función «number_format» como esta en el ejemplo. El primer argumento es el número decimal a formatear, el segundo el número de posiciones después de la coma, el tercer parámetro es el separador decimal y el último es el separador de miles.

Si sólo deseamos redondear simple lo podemos hacer con el comando  round:

$decimal_numero = 4422.37847623343;
echo round($decimal_numero,2); // Mostrará el resultado 4422.38

Números a letras con PHP usando Librería [Ejemplo completo]

Redondear números decimales de una manera fácil en PHP
Redondear números decimales de una manera fácil en PHP

Espero que con esto despejen sus dudas de como redondear números decimales para darles más profesionalismo en sus desarrollos web.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuarlo!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Privacidad