FoxPro/Visual FoxPro - numeros a letras

 
Vista:

numeros a letras

Publicado por Manuel M. (332 intervenciones) el 19/09/2006 05:02:27
que tal amigos

si alguien tiene un funcion de numeros a letras, agredesco agradezco me la envie

gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:numeros a letras

Publicado por jesus cordero (405 intervenciones) el 19/09/2006 12:51:02
Números a letras

****************************************************************************
*
PROCEDURE NTOL
****************************************************************************
*
PARAMETERS MI_NUMERO
PUBLIC C_ENTERO, C_DECIMAL
C_ENTERO=RIGHT(("00"+ALLTRIM(STR(INT(MI_NUMERO)))),INT(((LEN(ALLTRIM(STR(INT
(MI_NUMERO))))+2)/3))*3)
C_DECIMAL=RIGHT("00"+ALLTRIM(STR((MI_NUMERO-INT(MI_NUMERO))*100)),3)
PUBLIC DIMENSION CENTENA(1,10), DECENA(1,10), UNIDAD(1,15)
UNIDAD(1)=" UN"
UNIDAD(2)=" DOS"
UNIDAD(3)=" TRES"
UNIDAD(4)=" CUATRO"
UNIDAD(5)=" CINCO"
UNIDAD(6)=" SEIS"
UNIDAD(7)=" SIETE"
UNIDAD(8)=" OCHO"
UNIDAD(9)=" NUEVE"
UNIDAD(11)=" ONCE"
UNIDAD(12)=" DOCE"
UNIDAD(13)=" TRECE"
UNIDAD(14)=" CATORCE"
UNIDAD(15)=" QUINCE"
DECENA(1)=" DIEZ"
DECENA(2)=" VEINTE"
DECENA(3)=" TREINTA"
DECENA(4)=" CUARENTA"
DECENA(5)=" CINCUENTA"
DECENA(6)=" SESENTA"
DECENA(7)=" SETENTA"
DECENA(8)=" OCHENTA"
DECENA(9)=" NOVENTA"
CENTENA(1)=" CIENTO"
CENTENA(2)=" DOSCIENTOS"
CENTENA(3)=" TRESCIENTOS"
CENTENA(4)=" CUATROCIENTOS"
CENTENA(5)=" QUINIENTOS"
CENTENA(6)=" SEISCIENTOS"
CENTENA(7)=" SETECIENTOS"
CENTENA(8)=" OCHOCHIENTOS"
CENTENA(9)=" NOVECIENTOS"
STORE "" TO UNIDAD(10),DECENA(10),CENTENA(10)
RC=IIF(VAL(C_ENTERO)=0,"CERO","")

FOR i2=1 TO IIF(VAL(C_DECIMAL)>0,2,1)

VALOR_N=IIF(i2=1,C_ENTERO,C_DECIMAL)

FOR i1=1 TO LEN(VALOR_N) STEP 3

FN=SUBSTR(VALOR_N,i1,3)
RC=RC+IIF(VAL(FN)=100," CIEN",;
CENTENA(IIF(VAL(LEFT(FN,1))=0,10,VAL(LEFT(FN,1)))))+;
IIF(VAL(RIGHT(FN,2))>10 .AND. VAL(RIGHT(FN,2))<16,;

UNIDAD(VAL(RIGHT(FN,2))),DECENA(IIF(VAL(SUBSTR(FN,2,1))=0,10,VAL(SUBSTR(FN,2
,1))))+;
IIF(VAL(SUBSTR(FN,2,1))<>0 .AND. VAL(SUBSTR(FN,3,1))<>0," Y","")+;
UNIDAD(IIF(VAL(SUBSTR(FN,3,1))=0,10,VAL(SUBSTR(FN,3,1)))))+;
IIF((LEN(VALOR_N)=6 .AND. i1=1) .OR. (LEN(VALOR_N)=9 .AND. i1=4 .AND.
VAL(FN)<>0) .OR.;
(LEN(VALOR_N)=12 .AND. i1=1).OR.;
(LEN(VALOR_N)=12 .AND. i1=7 .AND. VAL(SUBSTR(VALOR_N,7,3))<>0),"
MIL","")+;
IIF((LEN(VALOR_N)=9 .AND. i1=1).OR. (LEN(VALOR_N)=12 .AND. i1=4),;
IIF(VAL(LEFT(VALOR_N,3))=1,IIF(LEN(VALOR_N)=12," MILLONES"," MILLÓN"),"
MILLONES"),"")

ENDFOR

RC=RC+IIF(i2=1," PESOS"+IIF(VAL(C_DECIMAL)>0," CON"," M/L")," CENTAVOS
M/L")

ENDFOR

RETURN RC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:numeros a letras

Publicado por richard marriaga (197 intervenciones) el 19/09/2006 15:51:13
tengo uno es muy bueno y te soporta cantidades grandes y es el que utilizo en mis aplicaciones te la envio a tu email
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar