Visual Basic - completar con ceros una variable

Life is soft - evento anual de software empresarial
   
Vista:

completar con ceros una variable

Publicado por Krystian  (4 intervenciones) el 02/02/2010 21:23:12
Hola necesito saber como completar con ceros a la izquierda una variable sin importar el contenido que traiga.

Ejemplo:

12134546
123456

Asi viene la variable.

Y asi es que quiero que quede:

0000001213456
0000000123456

he utilizado el Format y algunas otras cosas pero no he conseguido como lograrlo.

De antemano Gracias.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:completar con ceros una variable

Publicado por javier (1 intervención) el 02/02/2010 23:31:41
es muy facil :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Command1_Click()
pone_ceros Text1
End Sub
Sub pone_ceros(UnTexbox As Object)
 
Dim A, B, C, Z, i, P
  A = UnTexbox.Text
 
  B = 8 - Len(A) ' sacamos el n de ceros
 
 For i = 1 To B
  A = "0" + A ' añadimos Ceros
 Next
 UnTexbox.Text = A
 UnTexbox.SetFocus
' End If
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:completar con ceros una variable

Publicado por Luis Hansel (29 intervenciones) el 02/02/2010 23:35:21
Saludos Krystian:

Esto que pides requiere un poco de programación porque debes escribir el método. Que yo sepa, no existe una función en Visual Basic que haga esto:

Private function LlenaCeros(ByVal Numero as Double, ByVal LongitudCampo as Integer) as String
Dim SNumero as String 'Aquí guardas el número convertido a caracteres

SNumero=Numero
SNumero=String(LongitudCampo - Len(Trim(SNumero)), "0") & Trim(SNumero)

LlenaCeros=SNumero
End Function

La LongitudCampo establece la cantidad máxima de caracteres que tendrá el número con ceros a la izquierda.

Debes auxiliarte de la función STRING de Visual Basic. Puedes consultar la Ayuda de Visual para mas información.

Puede parecer obvio, pero debo hacer notar que sólo puedes hacer esto con una función que devuelva Caracteres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:completar con ceros una variable

Publicado por Pedro Luis (878 intervenciones) el 03/02/2010 09:49:03
No se si no he entendido la pregunta, pero no estoy de acuerdo, quizás estoy más próximo a Javier.
Mi solución es Format(Variable,"00000000"), es tan simple que dudo haber entendido la pregunta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:completar con ceros una variable

Publicado por Jorge (55 intervenciones) el 03/02/2010 17:22:18
Yo me hice esta funcion a ver si te sirve (lo pones como modulo y lo usas cuando quieras)

1
2
3
4
5
6
7
Public Function CerosIzq(Numero As String, TotalDigitos As Integer) As String
If Len(Numero) > TotalDigitos Then
 CerosIzq = Numero
Else
 CerosIzq = String(TotalDigitos - Len(Numero), "0") & Numero
End If
End Function

y se usa asi:

Nuevo_Numero= CerosIzq(cstr(mi_numero), Longitud_total_requerida)

ejemplo:
mi_numero=123
Longitud_total_requerida=5
entonces Nuevo_Numero= 00123

mi_numero=123.20
Longitud_total_requerida=8
entonces Nuevo_Numero= 00123.20 (se cuenta el punto(.) como digito)

mi_numero=123
Longitud_total_requerida=2
entonces Nuevo_Numero= 123

espero te ayude
Salud!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

completar con ceros una variable

Publicado por Edaurdo M Ardila (1 intervención) el 24/09/2012 03:04:26
la manera facil es: right("0000"&str(Valor),4)


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Ing.Ramon Alexander Perez Batista

completar con ceros una variable

Publicado por Ing.Ramon Alexander Perez Batista (17 intervenciones) el 24/09/2012 22:00:35
es sencillo.
1
2
3
4
5
6
private sub command1_click()
dim numero,resultado as double
numero=cdbl(txtnumero.text)
resultado=format(numero,"0000000##"
msgbox  resultado
end sub


nota: poner las cantidad de cero q desee
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar