1
« en: Miércoles 25 de Mayo de 2005, 19:00 »
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