Completar un campo numérico con ceros a la izquierda

Tengo una duda con respecto a completar un campo numérico con ceros a la izquierda hasta completar la cantidad de caracteres que necesito para exportarlo a txt.
Ej. Tengo un valor 10,50 y lo tengo que exportar de la siguiente manera: 000000001050 osea tendo que cubrir los 12 caractere y eliminar la coma.
Me podrías decir como lo puedo hacer

2 respuestas

Respuesta
1
Aqui te pono el codigo que necesitarias para lo que quieres:
'Definimos las variables
Dim NumeroCeros As Integer
Dim TextoConvertido As String
'Definimos la longitud deseada
Const ConstLong = 12
'Lo primero, hacemos desaparecer la coma decimal si es que existe
If InStr(1, CStr(TextoOrigen), ",") > 0 Then
TextoConvertido = Mid$(TextoOrigen, 1, InStr(1, CStr(TextoOrigen), ",") - 1) & Mid$(TextoOrigen, InStr(1, CStr(TextoOrigen), ",") + 1, Len(TextoOrigen) - 1)
End If
'Vemos cuanto mide TextoOrigen (que sera tu dato inicial) para saber los ceros que nos harán falta para el relleno
NumeroCeros = ConstLong - Len(TextoConvertido)
'Procedemos al relleno con ceros, controlando el error en caso de que no sea necesario el relleno (dato de longitud superior a la deseada)
If NumeroCeros > 0 Then
TextoConvertido = String(NumeroCeros, "0") & TextoConvertido
Else
TextoConvertido = Mid$(TextoConvertido, 1, ConstLong)
End If
'Y en la variable TextoConvertido ya tienes lo que querías...
Un saludo. Si tienes cualquier duda o problema no dudes en contactar conmigo. Suerte en tu desarrollo!
Óscar L.M.V.
Respuesta
1
Puedes hacer algo parecido a...
txtformato = Format(dec, "0000000000.000")
txtformato = Replace(txtformato, ",", "")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas