Foros del Web » Programando para Internet » PHP »

Añadir x cantidad de ceros delante de un número

Estas en el tema de Añadir x cantidad de ceros delante de un número en el foro de PHP en Foros del Web. PHP tiene alguna funciona para añadir cero a una cantidad en espefícico? por ejemplo: Si tengo 123, que me coloque 000123? O lo tendré que ...
  #1 (permalink)  
Antiguo 14/07/2004, 09:03
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Añadir x cantidad de ceros delante de un número

PHP tiene alguna funciona para añadir cero a una cantidad en espefícico?
por ejemplo:
Si tengo 123, que me coloque 000123?

O lo tendré que hacer con un for?
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #2 (permalink)  
Antiguo 14/07/2004, 09:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Con la función:

str_pad()
http://cl.php.net/manual/en/function.str-pad.php

Pero si el dato lo gestionas sobre tu BD (Mysql?) esta también tiene dentro de la definición del campo numérico forma de añadir esos 0 (ceros) automáticamente sin más PHP por médio. Me refiero a la propidead del campo "ZEROFILL":

http://dev.mysql.com/doc/mysql/en/Numeric_types.html

Un saludo,
  #3 (permalink)  
Antiguo 14/07/2004, 09:33
 
Fecha de Ingreso: abril-2003
Ubicación: Monterrey, Nuevo Leon Mex
Mensajes: 300
Antigüedad: 21 años
Puntos: 3
Ni quee decir mas cluster te dio la respuesta pero te anexo un ejemplo

$importe=str_pad($imp, 15, " ", STR_PAD_LEFT);
  #4 (permalink)  
Antiguo 14/07/2004, 20:06
 
Fecha de Ingreso: julio-2004
Ubicación: Puerto Vallarta, Jalisco, Mexico
Mensajes: 186
Antigüedad: 19 años, 9 meses
Puntos: 0
$ultimoID = 10;

$length=strlen($ultimo_id);
for ($i = $length; $i <= 3; $i++) {
$ultimo_id = "0" . $ultimo_id;
}

echo $ultimo_id; // $ultimo_id contiene 0010



jajaj dudo que alguien lo quisiera usar, teniendo en cuenta que pudieran usar el str_pad, pero por si las dudas, ese codigo añade los ceros requeridos para dejar un numero en tantos digitos, digamos si tengo el numero 10 y lo requiero en 4 digitos resultaria a 0010, pero si tengo 1000 no lo modificaria.

:)
__________________
Shanti Castillo G.
  #5 (permalink)  
Antiguo 15/07/2004, 06:15
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Gracias por sus ayudas!
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--
  #6 (permalink)  
Antiguo 15/07/2004, 06:52
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Y tambien podrias usar printf() (www.php.net/printf) y familia, dependiendo de para lo que lo uses.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 20/11/2004, 02:05
 
Fecha de Ingreso: septiembre-2003
Mensajes: 216
Antigüedad: 20 años, 7 meses
Puntos: 0
Cita:
Iniciado por Cluster
Con la función:

str_pad()
http://cl.php.net/manual/en/function.str-pad.php

Pero si el dato lo gestionas sobre tu BD (Mysql?) esta también tiene dentro de la definición del campo numérico forma de añadir esos 0 (ceros) automáticamente sin más PHP por médio. Me refiero a la propidead del campo "ZEROFILL":

http://dev.mysql.com/doc/mysql/en/Numeric_types.html

Un saludo,

Que me aconsejais, usar zerofill o str_pad.

Yo lo que quiero es tener el campo autoincremend y a demas que se guarde en formato de ceros por delante pero que al ordenarlo siga siendo numerico y no texto
  #8 (permalink)  
Antiguo 22/11/2004, 07:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En tu caso ... Zerofill .. de todas formas puedes probarlo. Si al obtener tu dato de tu BD (de ese "ID") lo obtienes con sus "ceros" delante .. no tendrás que aplicar str_pad() y un proceso menos que hacer.

Un saludo,
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 11:58.