Foros del Web » Programando para Internet » PHP »

Formato a numeros

Estas en el tema de Formato a numeros en el foro de PHP en Foros del Web. Hola amigos. Recurro a vosotros porque tengo un pequeño lio que no se como solucionar. Estoy tratando de grabar en bd numeros y mostrarlos en ...
  #1 (permalink)  
Antiguo 09/03/2011, 10:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Formato a numeros

Hola amigos. Recurro a vosotros porque tengo un pequeño lio que no se como solucionar.

Estoy tratando de grabar en bd numeros y mostrarlos en pantalla.

Para grabarlos, el formato tiene que ser 1000.00

Para mostrarlos, el formato tiene que ser 1.000,00

Y los numeros pueden ser introducidos en sus cuadros de texto de las siguientes formas:

1ª. 1000 si el usuario introduce el numero, no se mueve del cuadro de texto y pulsa el boton modificar.
2ª. - 1.000,00 si el usuario pulsa el boton modificar sin modificar el cuadro de texto.
3ª. 1000.00 si el usuario introduce bien los datos.

Estoy usando number_format, pero funciona bien cuando se produce la primera opcion, con las otras dos no.

¿Se os ocurre como puedo solucionarlo?.

Gracias. Un saludo.
  #2 (permalink)  
Antiguo 09/03/2011, 10:54
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Formato a numeros

Revisa la información de number_format
en la Documentacion de PHP

saludos!
  #3 (permalink)  
Antiguo 09/03/2011, 10:56
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: Formato a numeros

Hola Hidek, te prometo que lo he hecho varias veces en los últimos dos días, pero sigo sin poder unificar todas las posibilidades.
  #4 (permalink)  
Antiguo 09/03/2011, 12:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 742
Antigüedad: 14 años, 11 meses
Puntos: 6
Respuesta: Formato a numeros

Bueno, al final lo he solucionado. Pongo el codigo, ya que creoque puede ser muy interesante para mucha gente.

Código PHP:
Ver original
  1. function format_numero($numero)//Damos formato para mostrar en pantalla.
  2. {
  3.     return number_format($numero,2, ',', '.');
  4. }
  5.  
  6. function format_numero1($numero)//Damos formato para grabar en bd.
  7. {
  8.     //Si la cadena tiene puntos y comas
  9.     if(strrpos($numero,".") and strrpos($numero,","))
  10.     {
  11.         //Quito los puntos y no pongo nada
  12.         $numero = str_replace('.','',$numero);
  13.         //Quito la coma y pongo un punto
  14.         $numero = str_replace(',','.',$numero);
  15.         return $numero;
  16.     }
  17.     else
  18.     {
  19.     return number_format($numero,2, '.', '');
  20.     }
  21. }

La unica salvedad es que el usuario puede introducir los datos en las formas que explique arriba, a excepcion de 1.000,00, ya que con un codigo java script, en el cuadro de texto, solo dejo introducir números y puntos, con lo que la posibilidad de la coma no va a existir.

Espero que sirva. Un saludo.

Etiquetas: formato, numeros
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:15.