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.