FUNCTION FMONTO
**************** CONVIERTE UN VALOR NUMERICO EN LETRAS $ ***********
PARAMETERS CANTI,MON,CERO
UNO =" UNO DOS TRES CUATROCINCO SEIS SIETE OCHO NUEVE "
UNA =" UN DOS TRES CUATROCINCO SEIS SIETE OCHO NUEVE "
DIEZ =" DIEZ ONCE DOCE TRECE CATORCE QUINCE DIECISEISDIECISIETE DIECIOCHODIECINUEVE "
ENTA =" VEINTE TREINTA CUARENTACINCUENTA SESENTA SETENTA OCHENTA NOVENTA "
ENTAY=" VEINTI TREINTA Y CUARENTA YCINCUENTA Y SESENTA Y SETENTA Y OCHENTA Y NOVENTA Y "
ENTOS=" CIENTO DOSCIENTOS TRESCIENTOS CUATROCIENTOS QUINIENTOS SEISCIENTOS SETECIENTOS OCHOCIENTOS NOVECIENTOS "
X=STR(CANTI,12,2)
CENT=RIGHT(X,2)
B=" "
IF CANTI=0
IF MON <> "PS"
MONTO = "CERO DOLLARES"
ELSE
MONTO = "CERO PESETAS M/CTE"
ENDIF
ELSE
STOR "" TO MONTO,M
FOR CONT=1 TO 3
IF CONT=1
CIEN=SUBS(X,1,3)
ENDIF
IF CONT=2
CIEN=SUBS(X,4,3)
ENDIF
IF CONT=3
CIEN=SUBS(X,7,3)
ENDIF
DO CASE
CASE VAL(CIEN)=1
M=" UN "+M
CASE VAL(CIEN)<10 .AND. VAL(CIEN)>1
M=TRIM(SUBS(UNO,VAL(CIEN)*6,6))+B+M
CASE VAL(CIEN)<20 .AND. VAL(CIEN)>9
M=TRIM(SUBS(DIEZ,(VAL(CIEN)-9)*10,10))+B+M
CASE VAL(CIEN)<100 .AND. VAL(CIEN)>19
IF RIGHT(CIEN,1)="0"
M=TRIM(SUBS(ENTA,(VAL(CIEN)/10)*9,9))+B+M
ELSE
Y=VAL(SUBS(CIEN,2,1))
Z=VAL(SUBS(CIEN,3,1))
M=TRIM(SUBS(ENTAY,Y*11,11))+B+TRIM(SUBS(UNA,Z*6,6))+B+M
ENDIF
CASE VAL(CIEN)=100
M="CIEN"+B+M
CASE VAL(CIEN)>100
Y=VAL(LEFT(CIEN,1))
M1=TRIM(SUBS(ENTOS,Y*13,13))+B
CI=SUBS(CIEN,2,2)
DO CASE
CASE VAL(CI)<10
M=TRIM(SUBS(UNA,VAL(CI)*6,6))+B+M
CASE VAL(CI)<20 .AND. VAL(CI)>9
M=TRIM(SUBS(DIEZ,(VAL(CI)-9)*10,10))+B+M
CASE VAL(CI)<100 .AND. VAL(CI)>19
IF RIGHT(CI,1)="0"
M=TRIM(SUBS(ENTA,(VAL(CI)/10)*9,9))+B+M
ELSE
Y=VAL(SUBS(CI,1,1))
Z=VAL(SUBS(CI,2,1))
M=TRIM(SUBS(ENTAY,Y*11,11))+B+TRIM(SUBSTR(UNA,Z*6,6))+B+M
ENDIF
ENDCASE
M=M1+M
ENDCASE
IF CONT=1 .AND. VAL(CIEN)>0
IF CIEN=" 1"
MONTO=M+" MILLON "
ELSE
MONTO=M+" MILLONES "
ENDIF
IF SUBS(X,4,6)="000000"
MONTO=MONTO+" DE "
ENDIF
ENDIF
IF CONT=2 .AND. VAL(CIEN)>0
MONTO=MONTO+M+" MIL "
ENDIF
IF CONT=3 .AND. VAL(CIEN)>0
MONTO=MONTO+M
ENDIF
STOR "" TO M
NEXT CONT
IF MON <> "PS"
MONTO = MONTO +" DOLLARES"
ELSE
MONTO = MONTO +" PESETAS M/CTE"
ENDIF
IF CERO <> 0
MONTO=MONTO +" CON "+CENT+"/100 "
ENDIF
IF MON <> "PS"
MONTO = MONTO +" US"
ELSE
MONTO = MONTO +" M/CTE."
ENDIF
ENDIF
RETURN (MONTO)
_________________ Saludos.
German
|