Ver Mensaje Individual
  #6 (permalink)  
Antiguo 16/06/2005, 01:07
Avatar de MaNu-SG
MaNu-SG
 
Fecha de Ingreso: junio-2005
Mensajes: 5
Antigüedad: 18 años, 10 meses
Puntos: 0
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.