Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Formato a un número

Estas en el tema de Formato a un número en el foro de PHP en Foros del Web. Como puedo hacer para que un número xxxxxxxxxxxx, se muestre xxx-xxx-xx-xxxx. Espero que me puedan ayudar. Saludos,...
  #1 (permalink)  
Antiguo 17/01/2014, 18:24
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Formato a un número

Como puedo hacer para que un número xxxxxxxxxxxx, se muestre xxx-xxx-xx-xxxx.

Espero que me puedan ayudar.

Saludos,
__________________
El aprendiz.
  #2 (permalink)  
Antiguo 17/01/2014, 19:07
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Formato a un número

Suponiendo que el número siempre tendrá 12 dígitos y que los guiones deben ir cada 3, 3 y 2 dígitos, usaría la función substr_replace().

Código PHP:
Ver original
  1. $numero = 234653763245;
  2.  
  3. $numero = substr_replace($numero, "-", 3, 0);
  4. $numero = substr_replace($numero, "-", 7, 0);
  5. $numero = substr_replace($numero, "-", 10, 0);
  6.  
  7. echo $numero;

Lo anterior imprime: 234-653-76-3245

En dicha función, los parámetros se definen de la siguiente forma:

- Primero parámetro: La cadena a afectar.
- Segundo parámetro: El caracter a insertar.
- Tercer parámetro: La posición en la que se desea insertar el caracter.
- Cuarto parámetro: Tiene diferentes formas de ser presentado, tal y como se explica en el manual oficial:

Cita:
Iniciado por Manual de PHP
Si se da y es positivo, representa la longitud de la porción de string que se va a reemplazar. Si es negativo, representa el número de caracteres desde el final del string en el cual se deja de sustituir. Si no se da, entonces se usará por defecto strlen( string ); es decir que la sustitución terminará en el final de string. Por supuesto, si length es cero, entonces esta función tendrá el efecto de la inserción de replacement dentro de string en el desplazamiento dado por start.
Por lo explicado, el último parámetro es igual a cero, para que el caracter se inserte sin sustituir a otro caracteres que haya estado en la posición indicada en el tercer parámetro. Como voy añadiendo guiones, la posición tiene que ir en aumento para que se inserte el guión en el lugar correcto.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 17/01/2014, 19:55
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años, 6 meses
Puntos: 8
Respuesta: Formato a un número

Muchas gracias compatriota.
__________________
El aprendiz.

Etiquetas: formato
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 16:07.