Volver > CODIGOS FUENTES para escribir números en letras | ABR/2020 | |


CODIGO FUENTE EN VISUAL BASIC .NET QUE ESCRIBE UN NUMERO EN LETRAS.

Visual Basic .NET



Es un código Fuente en VISUAL BASIC .NET que escribe en letras un número indicado que requiere la condición que sea menor a un millón. Deberás importar la clase "Microsoft.VisualBasic" con la siguiente sentencia:

| Imports VB = Microsoft.VisualBasic

Es un procedimiento llamado "subValorTotalLetras" que intercambia dos variables, una es el dato en donde se indica el número en escritura numérica, y la segunda variable, es el resultado que dá el procedimiento, que indica el número escrito en letras en una cadena de texto. Este procedimiento puedes adaptarlo, modificarlo e insertarlo en tus proyectos de software sin problemas. Siempre es normal que debas realizar alguna modificación y deberás prestar atención con el signo decimal, por si es punto o coma en la interpretación del fuente, y que normalización interpreta el compilador de Visual Basic que utilizas. A continuación se describe el código fuente:

| Public Sub subValorTotalLetras(ByRef TotalNeto As Single, ByRef NumeroEscrito As String)
|  Dim TresNumeros As String
|  Dim MasTresNumeros As Boolean
|  Dim Terminacion As Boolean
|  Try
|   ' Inicializar variables
|   NumeroEscrito = ""
|   ' Escribir el valor total en letras menor a un millon
|   Select Case Len(VB.Right(Str(Fix(TotalNeto)), Len(Str(Fix(TotalNeto))) - 1))
|    Case Is <= 3
|     TresNumeros = New String("0", 3 - Len(VB.Right(Str(Fix(TotalNeto)), Len(Str(Fix(TotalNeto))) - 1))) & VB.Right(Str(Fix(TotalNeto)), Len(Str(Fix(TotalNeto))) - 1)
|    Case Is > 3
|     TresNumeros = VB.Left(New String("0", 6 - Len(Trim(Str(Fix(TotalNeto))))) & Trim(Str(Fix(TotalNeto))), 3)
|    MasTresNumeros = True
|   End Select
|   Do
|    Select Case VB.Left(TresNumeros, 1)
|     Case "1"
|      If Mid(TresNumeros, 2, 1) = "0" And VB.Right(TresNumeros, 1) = "0" Then
|       NumeroEscrito = NumeroEscrito & "cien "
|      Else
|       NumeroEscrito = NumeroEscrito & "ciento "
|      End If
|     Case "2"
|      NumeroEscrito = NumeroEscrito & "doscientos "
|     Case "3"
|      NumeroEscrito = NumeroEscrito & "trescientos "
|     Case "4"
|      NumeroEscrito = NumeroEscrito & "cuatrocientos "
|     Case "5"
|      NumeroEscrito = NumeroEscrito & "quinientos "
|     Case "6"
|      NumeroEscrito = NumeroEscrito & "seiscientos "
|     Case "7"
|      NumeroEscrito = NumeroEscrito & "setecientos "
|     Case "8"
|      NumeroEscrito = NumeroEscrito & "ochocientos "
|     Case "9"
|      NumeroEscrito = NumeroEscrito & "novecientos "
|    End Select
|    Select Case Mid(TresNumeros, 2, 1)
|     Case "1"
|      Select Case VB.Right(TresNumeros, 1)
|       Case "0"
|        NumeroEscrito = NumeroEscrito & "diez "
|       Case "1"
|        NumeroEscrito = NumeroEscrito & "once "
|       Case "2"
|        NumeroEscrito = NumeroEscrito & "doce "
|       Case "3"
|        NumeroEscrito = NumeroEscrito & "trece "
|       Case "4"
|        NumeroEscrito = NumeroEscrito & "catorse "
|       Case "5"
|        NumeroEscrito = NumeroEscrito & "quince "
|       Case "6"
|        NumeroEscrito = NumeroEscrito & "dieciséis "
|       Case "7"
|        NumeroEscrito = NumeroEscrito & "diecisiete "
|       Case "8"
|        NumeroEscrito = NumeroEscrito & "dieciocho "
|       Case "9"
|        NumeroEscrito = NumeroEscrito & "diecinueve "
|      End Select
|      Terminacion = True
|     Case "2"
|      NumeroEscrito = NumeroEscrito & "veinte "
|     Case "3"
|      NumeroEscrito = NumeroEscrito & "treinta "
|     Case "4"
|      NumeroEscrito = NumeroEscrito & "cuarenta "
|     Case "5"
|      NumeroEscrito = NumeroEscrito & "cincuenta "
|     Case "6"
|      NumeroEscrito = NumeroEscrito & "sesenta "
|     Case "7"
|      NumeroEscrito = NumeroEscrito & "setenta "
|     Case "8"
|      NumeroEscrito = NumeroEscrito & "ochenta "
|     Case "9"
|      NumeroEscrito = NumeroEscrito & "noventa "
|    End Select
|    If VB.Right(TresNumeros, 1) <> "0" And Mid(TresNumeros, 2, 1) <> "0" And Terminacion = False Then
|     NumeroEscrito = NumeroEscrito & "y "
|    End If
|    If Terminacion = False Then
|     Select Case VB.Right(TresNumeros, 1)
|      Case "1"
|       If MasTresNumeros = True Then
|        NumeroEscrito = NumeroEscrito & "un "
|       Else
|        NumeroEscrito = NumeroEscrito & "uno "
|       End If
|      Case "2"
|       NumeroEscrito = NumeroEscrito & "dos "
|      Case "3"
|       NumeroEscrito = NumeroEscrito & "tres "
|      Case "4"
|       NumeroEscrito = NumeroEscrito & "cuatro "
|      Case "5"
|       NumeroEscrito = NumeroEscrito & "cinco "
|      Case "6"
|       NumeroEscrito = NumeroEscrito & "seis "
|      Case "7"
|       NumeroEscrito = NumeroEscrito & "siete "
|      Case "8"
|       NumeroEscrito = NumeroEscrito & "ocho "
|      Case "9"
|       NumeroEscrito = NumeroEscrito & "nueve "
|     End Select
|    Else
|     Terminacion = False
|    End If
|    If MasTresNumeros = True Then
|     TresNumeros = VB.Right(Str(Fix(TotalNeto)), 3)
|     NumeroEscrito = NumeroEscrito & "mil "
|     MasTresNumeros = False
|    Else
|     Exit Do
|    End If
|   Loop
|   If InStr(Str(TotalNeto), ".") <> 0 Then
|    NumeroEscrito = NumeroEscrito & "con " & VB.Right(Str(CInt(TotalNeto * 100)), 2) & "/100"
|   End If
|  Catch ex As Exception
|   MsgBox(Err.Description, MsgBoxStyle.Critical)
|  End Try
| End Sub

Fuentes similares a este es utilizado en los software MundoTec SueldoTec y VentaTec, desarrollados por mi, con un sin fin de codificaciones de muchas funciones importantes, como intérprete de ecuaciones o gráficos cartesianos, que es un analizador léxico y sintáctico codificado por mi bajo parámetros propios, para lograr codificar programas informáticos empresariales en su totalidad. El código fuente de los software empresariales MundoTec SueldoTec y VentaTec los ofrezco completos por medio de un archivo comprimido RAR con todo el proyecto completo por un valor económico reducido. Puedes consultar por SueldoTec aquí o puedes consultar por VentaTec aquí.


Beneficiese adquiriendo software original.