Ayuda con código
Buen día, este código está programado para escribir de números a letras del 0 al 999. O sea hasta un máximo de 3 cifras. Mi pregunta es: ¿Cómo puedo programarlo para que siempre me escriba en número y letra 3 cifras? Osea 001, cero, cero, uno... 010, cero, diez... Etc. Agradezco de antemano su atención.
Public Function NumerosLetras(ByVal value As Double) As String
Select Case value
Case 0: NumerosLetras = "cero"
Case 1: NumerosLetras = "uno"
Case 2: NumerosLetras = "dos"
Case 3: NumerosLetras = "tres"
Case 4: NumerosLetras = "cuatro"
Case 5: NumerosLetras = "cinco"
Case 6: NumerosLetras = "seis"
Case 7: NumerosLetras = "siete"
Case 8: NumerosLetras = "ocho"
Case 9: NumerosLetras = "nueve"
Case 10: NumerosLetras = "diez"
Case 11: NumerosLetras = "once"
Case 12: NumerosLetras = "doce"
Case 13: NumerosLetras = "trece"
Case 14: NumerosLetras = "catorce"
Case 15: NumerosLetras = "quince"
Case Is < 20: NumerosLetras = "dieci" & NumerosLetras(value - 10)
Case 20: NumerosLetras = "veinte"
Case Is < 30: NumerosLetras = "veinti" & NumerosLetras(value - 20)
Case 30: NumerosLetras = "treinta"
Case 40: NumerosLetras = "cuarenta"
Case 50: NumerosLetras = "cincuenta"
Case 60: NumerosLetras = "sesenta"
Case 70: NumerosLetras = "setenta"
Case 80: NumerosLetras = "ochenta"
Case 90: NumerosLetras = "noventa"
Case Is < 100: NumerosLetras = NumerosLetras(Int(value \ 10) * 10) & " y " & NumerosLetras(value Mod 10)
Case 100: NumerosLetras = "cien"
Case Is < 200: NumerosLetras = "ciento " & NumerosLetras(value - 100)
Case 200, 300, 400, 600, 800: NumerosLetras = NumerosLetras(Int(value \ 100)) & "cientos"
Case 500: NumerosLetras = "quinientos"
Case 700: NumerosLetras = "setecientos"
Case 900: NumerosLetras = "novecientos"
Case Is < 1000: NumerosLetras = NumerosLetras(Int(value \ 100) * 100) & " " & NumerosLetras(value Mod 100)
End Select
End Function
Public Function NumerosLetras(ByVal value As Double) As String
Select Case value
Case 0: NumerosLetras = "cero"
Case 1: NumerosLetras = "uno"
Case 2: NumerosLetras = "dos"
Case 3: NumerosLetras = "tres"
Case 4: NumerosLetras = "cuatro"
Case 5: NumerosLetras = "cinco"
Case 6: NumerosLetras = "seis"
Case 7: NumerosLetras = "siete"
Case 8: NumerosLetras = "ocho"
Case 9: NumerosLetras = "nueve"
Case 10: NumerosLetras = "diez"
Case 11: NumerosLetras = "once"
Case 12: NumerosLetras = "doce"
Case 13: NumerosLetras = "trece"
Case 14: NumerosLetras = "catorce"
Case 15: NumerosLetras = "quince"
Case Is < 20: NumerosLetras = "dieci" & NumerosLetras(value - 10)
Case 20: NumerosLetras = "veinte"
Case Is < 30: NumerosLetras = "veinti" & NumerosLetras(value - 20)
Case 30: NumerosLetras = "treinta"
Case 40: NumerosLetras = "cuarenta"
Case 50: NumerosLetras = "cincuenta"
Case 60: NumerosLetras = "sesenta"
Case 70: NumerosLetras = "setenta"
Case 80: NumerosLetras = "ochenta"
Case 90: NumerosLetras = "noventa"
Case Is < 100: NumerosLetras = NumerosLetras(Int(value \ 10) * 10) & " y " & NumerosLetras(value Mod 10)
Case 100: NumerosLetras = "cien"
Case Is < 200: NumerosLetras = "ciento " & NumerosLetras(value - 100)
Case 200, 300, 400, 600, 800: NumerosLetras = NumerosLetras(Int(value \ 100)) & "cientos"
Case 500: NumerosLetras = "quinientos"
Case 700: NumerosLetras = "setecientos"
Case 900: NumerosLetras = "novecientos"
Case Is < 1000: NumerosLetras = NumerosLetras(Int(value \ 100) * 100) & " " & NumerosLetras(value Mod 100)
End Select
End Function
1 respuesta
Respuesta de Carlos soloffice
1