Código de Visual Basic.NET - Convertir un numero a letras

Requerimientos

Probado en VB. NET 2015

Versión 1
estrellaestrellaestrellaestrellaestrella(7)

Actualizado el 1 de Febrero del 2017 (Publicado el 11 de Enero del 2017)gráfica de visualizaciones de la versión: Versión 1
15.900 visualizaciones desde el 11 de Enero del 2017
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Module Module1
 
    Sub Main()
        Dim valor As Double = 9861257263
        Console.WriteLine(valor)
        Console.WriteLine(Num2Text(valor))
        Console.ReadKey()
    End Sub
 
    Public Function Num2Text(ByVal value As Double) As String
        Select Case value
            Case 0 : Num2Text = "CERO"
            Case 1 : Num2Text = "UN"
            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.0# : Num2Text = Num2Text(Int(value / 1000000)) & " MILLONES"
                If (value - Int(value / 1000000) * 1000000) Then Num2Text = Num2Text & " " & Num2Text(value - Int(value / 1000000) * 1000000)
            Case 1000000000000.0# : Num2Text = "UN BILLON"
            Case Is < 2000000000000.0# : Num2Text = "UN BILLON " & Num2Text(value - Int(value / 1000000000000.0#) * 1000000000000.0#)
            Case Else : Num2Text = Num2Text(Int(value / 1000000000000.0#)) & " BILLONES"
                If (value - Int(value / 1000000000000.0#) * 1000000000000.0#) Then Num2Text = Num2Text & " " & Num2Text(value - Int(value / 1000000000000.0#) * 1000000000000.0#)
        End Select
 
        Return Num2Text
    End Function
End Module



Comentarios sobre la versión: Versión 1 (7)

Sebas
1 de Febrero del 2017
estrellaestrellaestrellaestrellaestrella
Buen aporte muy creativo
Responder
Imágen de perfil
1 de Abril del 2017
estrellaestrellaestrellaestrellaestrella
Excelente código amigo. Corto y sencillo. Siempre es de mucha utilidad convertir números en letras especialmente si realizamos sistemas de facturación.
Responder
Laina
15 de Mayo del 2018
estrellaestrellaestrellaestrellaestrella
NO puedo vcnvertir numeros decimales....Ayudaa
Responder
Lizy
3 de Abril del 2019
estrellaestrellaestrellaestrellaestrella
manita arriba
Responder
sebastian
10 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
me encanto un código muy corto y eficiente......
Responder
Imágen de perfil
13 de Noviembre del 2020
estrellaestrellaestrellaestrellaestrella
En este video aprendí como hacerlo, en la descripcion se puede descargar el proyecto , por si gustan checkearlo.

link: https://www.youtube.com/watch?v=GThaZPLJq_k&t=17s este link es en C#, si lo desean en Vb.net el link sería el siguiente: https://www.youtube.com/watch?v=HUXNFe0LkG8
Responder
Daniel Rivas
11 de Febrero del 2021
estrellaestrellaestrellaestrellaestrella
Excelente aporte. Para los decimales, anexo el complemento:

1
2
3
4
Dim entero As Integer = Int(txtPor.Text)
Dim decimales As Double = txtPor.Text - entero
txtPor.Text = Format(CDbl(txtPor.Text), "##,###.##")
lblLetras.Text = "( " + Num2Text(entero) + " DOLARES, CON " + Right(CStr(Format(decimales, "0.00")), 2) + " CENTAVOS. )"
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3832