Cita:
Iniciado por Seppo Código PHP:
function pasaranumero ($string) {
$string = str_replace(".","",$string); //borro los separadores de miles, si hay
$string = str_replace(",",".",$string); //convierto las comas en puntos
$string = settype($string,"double"); // lo convierto en un número
return $string
}
Finalmente he usado este código, pero date cuenta que el settype devuelve un booleano, así que estás machacando el valor de $string con un 1.
settype($string,"double"); // lo convierto en un número
Cita:
Iniciado por sism82 la solución de Seppo no es del todo recomendable. Siempre hay que tratar de encontrar funciones nativas de PHP en lugar de crear funciones propias. Además que el tipo doble como tal no existe según la documentación oficial que muestra los tipos de dato en php
http://mx.php.net/set_type
lee la documentación de
http://mx.php.net/number_format
esa función nativa de php soluciona tu problema, a pesar de que devuelve un String. Si por alguna razón deseas un double, puedes hacer un cast (float)
saludos
number_format necesita un float, que es precisamente lo que buscaba, así que esa solución no me ha valido.
Gracias a ambos por vuestra preocupación. Un saludo.