Nos han llegado varios emails preguntando sobre el tema de "dar formato a variables", sobre todo, el mostrar numeros con determinados decimales, redondeos, etc...
En este pequeño artículo vamos a intentar exponer los diversos métodos que podemos usar para tales fines.
- Números con determinados decimales: La forma mas sencilla de convertir el número 2.34567 en 2.34 es mediante la función de php
number_format(). Su funcionamiento es bien sencillo:
<? $numero = 2.45968790; $numero = number_format($numero, 2); ?> Haciendo esto, formatearemos la variable $numero a dos decimales, quedando:
<? $numero = 2.46; ?> - Redondeo de Números:
Si lo que queremos es devolver un valor entero redondeado, nuestra función es
ceil(): <? $numero = 4.7; ceil($numero); ?> Si imprimimos el resultado nos mostrará 5.
Si lo que queremos es redondear cadenas, ya sea de numeros enteros o decimales, la función adecuada es
round(). <?php echo round(3.4); // 3 echo round(3.5); // 4 echo round(3.6); // 4 echo round(3.6, 0); // 4 echo round(1.95583, 2); // 1.96 echo round(1241757, -3); // 1242000 echo round(5.045, 2); // 5.05 echo round(5.055, 2); // 5.06 ?> - Dar formato a "palabras": Cuando usamos cadena alfabeticas, muchas veces nos interesa poner una palabra en mayúsculas, capitalizar un texto,...
Para capitalizar la primera letra de cada palabra, utilizaremos la función
ucwords(). <? $cadena = "esta casa es una ruina"; ucwords($cadena); ?> No devolvería "Esta Casa Es Una Ruina";
Si lo que queremos es que solo la primera palabra de la cadena se ponga en mayúsculas, debemos usar la función
ucfirst(): <? $cadena = "esta casa es una ruina"; ucfirst($cadena); ?> No devolvería "Esta casa es una ruina";
También podemos poner todo el texto en mayúsculas o minúsculas usando el mismo formato que en los casos anteriores, pero utilizando las funciones:
- strtolower(): Para todo en minúsculas.
- strtoupper(): Para todo en mayúsculas.
Ahora que ya controlamos el tema el formato de cadenas, podemos empezar a darle utilidades, por ejemplo podemos crear una función que capitalize una cadena:
<? function mayusculas($texto){ $texto = ucwords(strtolower($texto)); return $texto; } ?> La función primero pone todo en minúscula, y después capitaliza. Como puedes ver las aplicaciones son enormes, esperamos que este pequeño artículo os sea de utilidad.