Hola experto: como podria cambiar de numeros a letras si tengo 1,250.75, que le lo cambie a texto en moneda nacional gracias
1 respuesta
Respuesta de Roberto Hinojosa
1
1
Roberto Hinojosa, Programador Amateur en Visual Basic para Aplicaciones, desarrollo...
Coloca esta función en un módulo de y llámala desde cualquier formulario Saludos Public Function Num2Text(ByVal value As Double) As String Select Case value Case 0: Num2Text = "CERO" Case 1: Num2Text = "PRIMERO" Case 2: Num2Text = "DOS" Case 3: Num2Text = "TRES" Case 4: Num2Text = "CUATRO" Case 5: Num2Text = "CINCO" Case 6: Num2Text = "SEIS" Case 7: Num2Text = "SIETE" Case 8: Num2Text = "OCHO" Case 9: Num2Text = "NUEVE" Case 10: Num2Text = "DIEZ" Case 11: Num2Text = "ONCE" Case 12: Num2Text = "DOCE" Case 13: Num2Text = "TRECE" Case 14: Num2Text = "CATORCE" Case 15: Num2Text = "QUINCE" Case Is < 20: Num2Text = "DIECI" & Num2Text(value - 10) Case 20: Num2Text = "VEINTE" Case Is < 30: Num2Text = "VEINTI" & Num2Text(value - 20) Case 30: Num2Text = "TREINTA" Case 40: Num2Text = "CUARENTA" Case 50: Num2Text = "CINCUENTA" Case 60: Num2Text = "SESENTA" Case 70: Num2Text = "SETENTA" Case 80: Num2Text = "OCHENTA" Case 90: Num2Text = "NOVENTA" Case Is < 100: Num2Text = Num2Text(Int(value \ 10) * 10) & " Y " & Num2Text(value Mod 10) Case 100: Num2Text = "CIEN" Case Is < 200: Num2Text = "CIENTO " & Num2Text(value - 100) Case 200, 300, 400, 600, 800: Num2Text = Num2Text(Int(value \ 100)) & "CIENTOS" Case 500: Num2Text = "QUINIENTOS" Case 700: Num2Text = "SETECIENTOS" Case 900: Num2Text = "NOVECIENTOS" Case Is < 1000: Num2Text = Num2Text(Int(value \ 100) * 100) & " " & Num2Text(value Mod 100) Case 1000: Num2Text = "MIL" Case Is < 2000: Num2Text = "MIL " & Num2Text(value Mod 1000) Case Is < 1000000: Num2Text = Num2Text(Int(value \ 1000)) & " MIL" If value Mod 1000 Then Num2Text = Num2Text & " " & Num2Text(value Mod 1000) Case 1000000: Num2Text = "UN MILLON" Case Is < 2000000: Num2Text = "UN MILLON " & Num2Text(value Mod 1000000) Case Is < 1000000000000#: Num2Text = Num2Text(Int(value / 1000000)) & " MILLONES " If (value - Int(value / 1000000) * 1000000) Then Num2Text = Num2Text & " " & Num2Text(value - Int(value / 1000000) * 1000000) Case 1000000000000#: Num2Text = "UN BILLON" Case Is < 2000000000000#: Num2Text = "UN BILLON " & Num2Text(value - Int(value / 1000000000000#) * 1000000000000#) Case Else: Num2Text = Num2Text(Int(value / 1000000000000#)) & " BILLONES" If (value - Int(value / 1000000000000#) * 1000000000000#) Then Num2Text = Num2Text & " " & Num2Text(value - Int(value / 1000000000000#) * 1000000000000#) End Select End Function