PARAMETER XNUM
DECLARE U(10),D(10),C(10),E(10)
U(1) = ""
U(2) = "UNO"
U(3) = "DOS"
U(4) = "TRES"
U(5) = "CUATRO"
U(6) = "CINCO"
U(7) = "SEIS"
U(8) = "SIETE"
U(9) = "OCHO"
U(10) = "NUEVE"
***----
D(1) = ""
D(2) = "DIEZ"
D(3) = "VEINTE"
D(4) = "TREINTA"
D(5) = "CUARENTA"
D(6) = "CINCUENTA"
D(7) = "SESENTA"
D(8) = "SETENTA"
D(9) = "OCHENTA"
D(10) = "NOVENTA"
***-----
C(1) = ""
C(2) = "CIENTO"
C(3) = "DOSCIENTOS"
C(4) = "TRESCIENTOS"
C(5) = "CUATROCIENTOS"
C(6) = "QUINIENTOS"
C(7) = "SEISCIENTOS"
C(8) = "SETECIENTOS"
C(9) = "OCHOCIENTOS"
C(10) = "NOVECIENTOS"
***-------
E(1) = "DIEZ"
E(2) = "ONCE"
E(3) = "DOCE"
E(4) = "TRECE"
E(5) = "CATORCE"
E(6) = "QUINCE"
E(7) = "DIECISEIS"
E(8) = "DIECISIETE"
E(9) = "DIECIOCHO"
E(10) = "DIECINUEVE"
***-------
M4 = INT(XNUM / 1000000000)
M3 = INT(XNUM / 1000000) - (M4 * 1000)
M2 = INT(XNUM / 1000) - (M3 * 1000) - (M4 * 1000000)
M1 = INT(XNUM) - (M2 * 1000) - (M3 * 1000000) - (M4 * 1000000000)
XCS = INT((XNUM - INT(XNUM))*100)
XR2 = ""
IF !EMPTY(M4)
XR2 = XR2 + TRIO(M4,.F.) + " MIL "
ENDIF
IF !EMPTY(M3)
XR2 = XR2 + TRIO(M3,.F.) + IIF(M3=1," MILLON "," MILLLONES ")
ENDIF
IF !EMPTY(M2)
XR2 = XR2 + TRIO(M2,.F.) + " MIL "
ENDIF
IF !EMPTY(M1)
XR2 = XR2 + TRIO(M1,.T.)
ENDIF
* ANEXAR LOS CENTIMOS
XR2 = XR2 + " BOLIVARES CON " + STRTRAN(STR(XCS,2,0)," ","0") + "/100 CENTIMOS"
DO WHILE AT(" ",XR2) > 0
XR2 = STRTRAN(XR2," "," ")
ENDDO
RETURN XR2
FUNCTION TRIO
PARAMETER NUMERO,XUNO
U(2) = IIF(XUNO,"UNO","UN")
X3 = INT(NUMERO / 100)
X2 = INT(NUMERO / 10) - X3*10
X1 = NUMERO - X3*100 - X2*10
XR = ""
*****
DO CASE
CASE NUMERO = 100
XR = "CIEN"
OTHER
XR = C(X3+1) + " "
IF X2 = 1
XR = XR + E(X1+1)
ELSE
XR = XR + D(X2+1) + IIF(X1>0 AND X2>0," Y ","") + U(X1+1)
ENDIF
ENDCASE
RETURN XR
Numero decimal a letras - foxpro
Función que acepta un numero decimal y retorna el correspondiente numero convertido a letras (útil para imprimir cheques, p.e.). La función coloca "Bolívares" ya que se usa en programas para Venezuela.
Descargar adjuntos
COMPARTE ESTE TUTORIAL
COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP