El Guru Programador
Usuario DESCONOCIDO | Registrate Gratis | Usuarios Registrados
Foro de Visual Basic/VB.NET
Foros del Guru > Visual Basic/VB.NET
Usuario LLenado con ceros
cgonzales
2 Mensaje(s)
Enviado - 11/10/2004
 
Hola quisiera saber si alguien puede ayudarme con esto, yo utilizo la funcion format para obtener la sgte cadena :
format(10, "00000") me devuelve "00010", pero solo me funciona con numeros, ahora lo q quiero es para un caracter por ejemplo, pero si pongo :
format ("A", "00000") me devuelve "A", si alguien sabe q puedo utilizar para darle formato a un caracter o una cadena, please respondanme, lo q quisiera es si tengo la letra "A" me devuelva "00000A"

 
Desconocido
Enviado - 11/10/2004
 
Para hacer eso con las cadenas, la clase String tiene los métodos PadLeft y PadRight. Te copio de la ayuda de Visual:

-----
PadLeft( ByVal totalWidth As Integer, ByVal paddingChar As Char) As String

Parámetros
totalWidth
Número de caracteres de la cadena resultante, igual al número de caracteres originales más el número de caracteres de relleno adicionales.
paddingChar
Carácter Unicode de relleno.

Valor devuelto
Nuevo objeto String que es equivalente a la instancia, pero alineado a la derecha y con los caracteres paddingChar a la izquierda que sean necesarios para crear la longitud especificada en totalWidth.
O bienNuevo objeto String idéntico a la instancia en cuestión, si totalWidth es menor que la longitud de la instancia.

[Visual Basic]
Dim str As String
Dim pad As Char
str = "forty-two"
pad = "."c
Console.WriteLine(str.PadLeft(15, pad)) ' Displays "......forty-two".
Console.WriteLine(str.PadLeft(2, pad)) ' Displays "forty-two".
------

Cuando tengas el valor en cuestion, pregunta If IsNumeric(valor) then... y si es número le das formato como venías haciendo, y en otro caso usa Pad.
Espero que te sirva, saludos. :)


 
cgonzales
2 Mensaje(s)
Enviado - 11/10/2004
 
Estuve probando el codigo q me mandatse y no funciona en Vbasic, tal vez sea para otro lenguaje, tu lo haz probado?? :( gracias de todos modos pero no me sale aun ...
 
oelamon
10 Mensaje(s)
Enviado - 12/10/2004
 
Proba con esto...
Replace(Format("A", "@@@@"), " ", "0")
Suerte!
 
Desconocido
Enviado - 12/10/2004
 
Lo saqué de Visual Basic .NET :(
 
 

 

Contactos myStudio Network