FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Agregar ceros a la izquierda a una variable integer.
Hola a todos veran mi problema es el siguiente:
Tengo un programa conectado a una BD, y en esta tengo un campo llamado folio (de tipo numérico, entero largo) el cual es consecutivo; no lo puse autonumerico porque no pude hacer que me apreciera con el siguiente formato '00001' solo me aparecía '1', pensé que me seria más fácil hacerlo directamente en Delphi declarando una variable 'integer' e irla incrementando en 1 cada vez que se agregara un nuevo registro. La cuestión es que la función para rellenar con ceros a la izquierda no funciona para 'integer' yo queria hacer algo como esto pero siendo variable de tipo 'string' no puedo incrementar su valor. Alguien tiene alguna idea de como hacerlo, ya sea desde Acces (ya que no pude cambiar el formato desde ahí) o bien en Delphi... espero no causar muchas molestias, gracias de antemano. |
#2
|
||||
|
||||
Hola
El campo integer te dara numeros sin ceros a la izquierda, esto en cualquier BD. Si lo que quieres es simplemente que el usuario vea estos numeros entonces puedes concatenar los ceros. Lo unico es que si vas a guardar ese numero entonces tendras que usar la funcion replace. Me parece algo complicado, yo cambiaria por tipo stringi el campo. saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
Comparto con Caral. Si necesitas ese tipo de numeración usaría el campo en string. Cuando necesites hacer el incremento conviertes el valor a entero a través de la función StrToInt, sumas uno, luego lo pasas a string nuevamente ( IntToStr) y agregas los ceros delante del string resultante.
Saludos |
#4
|
||||
|
||||
Repasando matemáticas de primer grado:
01 = 1 002 = 2 Por tanto no interesa la cantidad de ceros que pretendas poner a la izquierda. ¡NO VALEN NADA! En todo caso, a efectos de visualización puedes emplear la propiedad DisplayFormat para indicarle el formato. Otra posibilidad es la de aprovechar el método GetText y SetText del campo en cuestión y darle el formato indicado. Entonces en la base de datos se almacena en forma entera y se deja, exclusivamente, a modo de presentación mostrarlos con los ceros. La otra posibilidad es cambiar el tipo del campo en la base de datos por un alfanumérico de modo que en vez de almacenar un número se tiene una cadena "0....0x..x". Esto va a requerir que se hagan conversiones de string a número, y viceversa constantemente. Si este campo es una clave primaria o una foránea me parece una pésima elección esta alternativa. Saludos, |
#5
|
|||
|
|||
Cosas de formato
Cita:
|
#6
|
||||
|
||||
Para poner ceros a la izquierda utiliza el FormatFloat.
Cita:
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. |
#7
|
||||
|
||||
Cita:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
como rellenar con ceros a la izquierda algun dato | uper | PHP | 1 | 15-03-2011 19:49:10 |
Agregar ceros a la izquierda de un consecutivo | ingabraham | Varios | 6 | 06-07-2010 20:42:12 |
Agregar Ceros a la Izquierda en Firebird 1.5.x | mantrax | Firebird e Interbase | 2 | 06-10-2007 19:24:35 |
Llenar con ceros a la izquierda una variable string | egostar | .NET | 9 | 22-08-2007 08:57:19 |
Agregar ceros al pincipio de folio | jorelivi | Varios | 14 | 10-05-2007 17:53:46 |
|