• Jueves 2 de Mayo de 2024, 04:18

Autor Tema:  De Numero A Letras  (Leído 2155 veces)

az8

  • Miembro MUY activo
  • ***
  • Mensajes: 111
    • Ver Perfil
De Numero A Letras
« en: Martes 24 de Mayo de 2005, 07:06 »
0
HOLA DE NUEVO ... ESTOY HACIENDO UNA APLICACION KE EMITE RECIBOS..PERO PARA AUTOMATIZARLO MEJOR NO HE ENCONTRADO UN PROGRAMA KE ME MANDE LA CANTIDA KE SE INTRODUCE A SU EKIVALENTE EN LETRAS... NO IMPORTANDO SI LA CANTIDAD CONTIENE DECIMALES......
NO LO HE PODIDO ENCONTRAR EN LA RED. ASI ES KE SI ALGUIEN TIENE UNA APLICACION PARECIDA,, POR FAVOR ENVIENMELA PLISSS ME URGE... GRACIAS

ATE AZ8

tyron

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Re: De Numero A Letras
« Respuesta #1 en: Martes 24 de Mayo de 2005, 12:55 »
0
Hola, tengo una función para eso. Espero te sirva. Un saludo.

Código: Text
  1. Function NumATexto(ByVal Valor As Double) As String
  2. On Error GoTo RutError
  3.     Select Case Valor
  4.         Case 0: NumATexto = "CERO"
  5.         Case 1: NumATexto = "UN"
  6.         Case 2: NumATexto = "DOS"
  7.         Case 3: NumATexto = "TRES"
  8.         Case 4: NumATexto = "CUATRO"
  9.         Case 5: NumATexto = "CINCO"
  10.         Case 6: NumATexto = "SEIS"
  11.         Case 7: NumATexto = "SIETE"
  12.         Case 8: NumATexto = "OCHO"
  13.         Case 9: NumATexto = "NUEVE"
  14.         Case 10: NumATexto = "DIEZ"
  15.         Case 11: NumATexto = "ONCE"
  16.         Case 12: NumATexto = "DOCE"
  17.         Case 13: NumATexto = "TRECE"
  18.         Case 14: NumATexto = "CATORCE"
  19.         Case 15: NumATexto = "QUINCE"
  20.         Case Is < 20: NumATexto = "DIECI" & NumATexto(Valor - 10)
  21.         Case 20: NumATexto = "VEINTE"
  22.         Case Is < 30: NumATexto = "VEINTI" & NumATexto(Valor - 20)
  23.         Case 30: NumATexto = "TREINTA"
  24.         Case 40: NumATexto = "CUARENTA"
  25.         Case 50: NumATexto = "CINCUENTA"
  26.         Case 60: NumATexto = "SESENTA"
  27.         Case 70: NumATexto = "SETENTA"
  28.         Case 80: NumATexto = "OCHENTA"
  29.         Case 90: NumATexto = "NOVENTA"
  30.         Case Is < 100: NumATexto = NumATexto(Int(Valor \ 10) * 10) & " Y " & NumATexto(Valor Mod 10)
  31.         Case 100: NumATexto = "CIEN"
  32.         Case Is < 200: NumATexto = "CIENTO " & NumATexto(Valor - 100)
  33.         Case 200, 300, 400, 600, 800: NumATexto = NumATexto(Int(Valor \ 100)) & "CIENTOS"
  34.         Case 500: NumATexto = "QUINIENTOS"
  35.         Case 700: NumATexto = "SETECIENTOS"
  36.         Case 900: NumATexto = "NOVECIENTOS"
  37.         Case Is < 1000: NumATexto = NumATexto(Int(Valor \ 100) * 100) & " " & NumATexto(Valor Mod 100)
  38.         Case 1000: NumATexto = "MIL"
  39.         Case Is < 2000: NumATexto = "MIL " & NumATexto(Valor Mod 1000)
  40.         Case Is < 1000000: NumATexto = NumATexto(Int(Valor \ 1000)) & " MIL"
  41.         If Valor Mod 1000 Then
  42.             NumATexto = NumATexto & " " & NumATexto(Valor Mod 1000)
  43.         End If
  44.         Case 1000000: NumATexto = "UN MILLON"
  45.         Case Is < 2000000: NumATexto = "UN MILLON " & NumATexto(Valor Mod 1000000)
  46.         Case Is < 1000000000000#: NumATexto = NumATexto(Int(Valor / 1000000)) & " MILLONES"
  47.         If (Valor - Int(Valor / 1000000) * 1000000) Then
  48.             NumATexto = NumATexto & " " & NumATexto(Valor - Int(Valor / 1000000) * 1000000)
  49.         End If
  50.         Case 1000000000000#: NumATexto = "UN BILLON"
  51.         Case Is < 2000000000000#: NumATexto = "UN BILLON " & NumATexto(Valor - Int(Valor / 1000000000000#) * 1000000000000#)
  52.         Case Else: NumATexto = NumATexto(Int(Valor / 1000000000000#)) & " BILLONES"
  53.         If (Valor - Int(Valor / 1000000000000#) * 1000000000000#) Then
  54.             NumATexto = NumATexto & " " & NumATexto(Valor - Int(Valor / 1000000000000#) * 1000000000000#)
  55.         End If
  56.     End Select
  57.    
  58. Exit Function
  59. RutError:
  60.     MsgBox "Debe introducir Numeros", vbCritical, "Aviso (NumATexto)"
  61. End Function
  62.  

sylver

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: De Numero A Letras
« Respuesta #2 en: Miércoles 25 de Mayo de 2005, 19:00 »
0
hola por ahi te mando otra funcion haber si te sirve,,,,
es una funcion que yo la he usado tambienn en varios programitas,, y me va bastante bien....


Public Function numlet(letnum) As String
    pesos = Int(letnum)
    centavo = Int((letnum - pesos) * 100)
   
    pesos = Int(letnum)
    If centavo = 0 Then
        letras = "00"
    Else
        letras = Trim(Str(centavo))
        If centavo < 10 Then
            letras = "0" + LTrim(Str(letras))
        End If
    End If
    letras = LTrim(letras) + "/100 M.N."
    If pesos = 0 Then
        letras = "CERO PESOS" + LTrim(letras)
    Else
        If pesos = 1 Then
            letras = "UN PESO" + LTrim(letras)
        Else
           
            CONTADOR = 0
           
            While pesos > 0
                ELIMINA
                unidad = CANT
                decena = 0
                centena = 0
                UNIDADES
               
                If pesos > 0 Then
                    ELIMINA
                    decena = CANT
                    DECENAS
                   
                   
                End If
               
                If pesos > 0 Then
                    ELIMINA
                    centena = CANT
                    CENTENAS
                   
                End If
               
                Select Case CONTADOR
                    Case Is = 0
                        If unidad = 0 And decena = 0 And centena = 0 Then
                            ok = 1
                        Else
                            ok = 0
                        End If
                        letras = "PESOS " + LTrim(letras)
                    Case Is = 1
                      If ok = 1 And unidad = 0 And decena = 0 And centena = 0 Then
                            letras = "DE " + letras
                        Else
                            letras = "MIL " + letras
                        End If
                    Case Is = 2
                        If unidad = 1 And decena = 0 And centena = 0 Then
                            letras = "MILLON " + letras
                        Else
                            letras = "MILLONES " + letras
                        End If
                End Select
               
                CONTADOR = CONTADOR + 1
                letras = LTrim(letras2) + " " + LTrim(letras)
                Wend
                End If
            End If
            letra1 = LTrim(Mid(letras, 1, 32))
            letra2 = LTrim(Mid(letras, 33, 32))
            letra3 = LTrim(Mid(letras, 65, 32))
            letra4 = LTrim(Mid(letras, 97, 32))
            letra5 = LTrim(Mid(letras, 129, 32))
            numlet = letras
End Function
Public Function ELIMINA()
   Dim pesos2 As Double
   Dim canlet, canfin As String
   Dim cannum As Integer
       pesos2 = pesos / 10
       canlet = Str(pesos)
       cannum = Len(canlet)
        canfin = Mid(canlet, cannum, 1)
       CANT = Val(Trim(canfin))
       pesos = Int(pesos2)
End Function

Public Function INT1(Cantidad, POS)
Dim POS10, RESTA, VALe As Double
    POS10 = 10 * POS
    RESTA = 0.5 * POS10
    CANT = Cantidad - RESTA
If CANT < 0 Then
    VALe = Cantidad
Else
    VALe = CANT
End If
INT1 = VALe
End Function

Public Function UNIDADES()

Select Case unidad
    Case Is = 0
        letras2 = ""
    Case Is = 1
        letras2 = "UN "
    Case Is = 2
        letras2 = "DOS "
    Case Is = 3
        letras2 = "TRES "
    Case Is = 4
        letras2 = "CUATRO "
    Case Is = 5
        letras2 = "CINCO "
    Case Is = 6
        letras2 = "SEIS "
    Case Is = 7
        letras2 = "SIETE "
    Case Is = 8
        letras2 = "OCHO "
    Case Is = 9
        letras2 = "NUEVE "
End Select
End Function

Public Function DECENAS()

If unidad = 0 Then
   Select Case decena
    Case Is = 1
        letras2 = "DIEZ "
    Case Is = 2
        letras2 = "VEINTE "
    Case Is = 3
        letras2 = "TREINTA "
    Case Is = 4
        letras2 = "CUARENTA "
    Case Is = 5
        letras2 = "CINCUENTA "
    Case Is = 6
        letras2 = "SESENTA "
    Case Is = 7
        letras2 = "SETENTA "
    Case Is = 8
        letras2 = "OCHENTA "
    Case Is = 9
        letras2 = "NOVENTA "
   End Select
Else

   Select Case decena
    Case Is = 1
        Select Case unidad
            Case Is = 1
             letras2 = "ONCE "
            Case Is = 2
             letras2 = "DOCE "
            Case Is = 3
             letras2 = "TRECE "
             Case Is = 4
             letras2 = "CATORCE "
             Case Is = 5
             letras2 = "QUINCE "
             Case Else
             letras2 = "DIEZ Y " + letras2
         End Select
    Case Is = 2
        letras2 = "VEINTI " + letras2
    Case Is = 3
        letras2 = "TREINTA Y " + letras2
    Case Is = 4
        letras2 = "CUARENTA Y " + letras2
    Case Is = 5
        letras2 = "CINCUENTA Y " + letras2
    Case Is = 6
        letras2 = "SESENTA Y " + letras2
    Case Is = 7
        letras2 = "SETENTA Y " + letras2
    Case Is = 8
        letras2 = "OCHENTA Y " + letras2
    Case Is = 9
        letras2 = "NOVENTA Y " + letras2
    End Select
End If

End Function

Public Function CENTENAS()
    Select Case centena
    Case Is = 1
        If decena = 0 And unidad = 0 Then
         letras2 = "CIEN "
        Else
         letras2 = "CIENTO " + letras2
        End If
    Case Is = 2
        letras2 = "DOSCIENTOS " + letras2
    Case Is = 3
        letras2 = "TRESCIENTOS " + letras2
    Case Is = 4
        letras2 = "CUATROCIENTOS " + letras2
    Case Is = 5
        letras2 = "QUINIENTOS " + letras2
    Case Is = 6
        letras2 = "SEISCIENTOS " + letras2
    Case Is = 7
        letras2 = "SETECIENTOS " + letras2
    Case Is = 8
        letras2 = "OCHOCIENTOS " + letras2
    Case Is = 9
        letras2 = "NOVECIENTOS " + letras2
    End Select
   
End Function

Makko

  • Miembro MUY activo
  • ***
  • Mensajes: 117
    • Ver Perfil
Re: De Numero A Letras
« Respuesta #3 en: Lunes 30 de Mayo de 2005, 19:24 »
0
Yo hice un programita una vez que pasa numeros a letras, si aun no lo has podido hacer funcionar con lo que te han dado los chicos arriba, solo hazmelo saber.

Saludos.
Makko.
Saludos.
Makko.

My life is a simple thing that would interest no one. It is a known fact that I was born and that is all that is necessary.