Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema al pasar con number_format() un numero string

Estas en el tema de Problema al pasar con number_format() un numero string en el foro de PHP en Foros del Web. Hola a todos! Tengo un problema a la hora de usar un número que está en formato string con un number_format(); Por ejemplo: tengo en ...
  #1 (permalink)  
Antiguo 23/09/2014, 09:13
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Exclamación Problema al pasar con number_format() un numero string

Hola a todos!

Tengo un problema a la hora de usar un número que está en formato string con un number_format();

Por ejemplo: tengo en el valor inicial un 4,7 pero, para hacer calculos necesito que sea un tipo numérico y pasarlo a ser un 4.70 porque tengo que ajustar decimales y demás pero cuando lo hago, simplemente un
Código PHP:
Ver original
  1. number_format("4,7",2,".");
como resultado me está perdiendo los decimales (me da un 4.00)

¿Cómo podría realizar la conversión sin perder los decimales?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 23/09/2014, 09:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema al pasar con number_format() un numero string

Bueno, deberías saber que "4,7" no es de lejos un valor válido para dicha función.

O mejor aún, ni siquiera es un valor flotante válido en PHP:

Código PHP:
// MAL
echo (float) '4,7'// 4

// BIEN
echo (float) '4.7'// 4.7 
Así que debes corregir tu valor antes de operarlo, simplemente debes reemplazar la coma por un punto y nada más.

Por favor consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 23/09/2014, 09:57
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Problema al pasar con number_format() un numero string

Cita:
Iniciado por pateketrueke Ver Mensaje
Bueno, deberías saber que "4,7" no es de lejos un valor válido para dicha función.

O mejor aún, ni siquiera es un valor flotante válido en PHP:

Código PHP:
// MAL
echo (float) '4,7'// 4

// BIEN
echo (float) '4.7'// 4.7 
Así que debes corregir tu valor antes de operarlo, simplemente debes reemplazar la coma por un punto y nada más.

Por favor consulta el manual.
Sí, viendo los ejemplos he visto que era por el tema del "," que tenía entonces lo que he hecho ha sido un str_replace antes del "," por el "." y ya me ha funcionado.

Gracias por la info! ;)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"

Etiquetas: numero, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:20.