Función para convertir a número una cadena en PHP
Bienvenidos a VerTutoriales.com, en esta ocasión os traigo un pequeño script en PHP para convertir una cadena cualquiera en numérico.
Seguro que más de una vez habeis querido comprobar que el valor que nos envia el usuario es un número y que tuviera valores correctos.
Pues os he preparado esta función lista para ser utilizada. Vamos a verla y a continuación os la explico.
<?
//Funcion para limpiar una cadena de letras y dejar solo númerosfunction fPasarNumero($str)
{
$caracteres = «%[^0-9 \. \- ]%»;$str=preg_replace($caracteres,»»,$str);
return $str;
}
?>
A la función fPasarNumero se le ha de pasar una cadena ($str) que será a la que le haremos el tratamiento para obtener al final solo caracteres numéricos. En este caso vamos a dejar como caracteres posibles los números de 0 a 9, el punto como decimal y el signo – (negativo). Si quisieramos que fueran solo enteros debemos de cuidar que el punto no lo quitemos, ya que sino el valor 100.50, nos lo convertiría en 10050 por lo que si es para operar con el número se nos iría un poco al garete. Lo suyo sería dejar el decimal y luego hacer el redondeo aparte.
Creo que no hay mucho más explicar de la función, al utilizar la función preg_replace de PHP, le estamos diciendo que reemplace todos los valores de la variable caracteres por «» (es decir que los elimine), que encuentre en la variable $str que es la que recibe la función.
Al final devolvemos la cadena resuelta con return $str.
Espero que os sirva!
Un saludo!