convertir numero en letra
Publicado por collins (1 intervención) el 13/08/2013 19:15:41
buenas tardes amigo alguie sabe como convertir numero en letra en filemaker 6
Valora esta pregunta


0
Case (CANTIDAD = 0 ; "" ;
CANTIDAD > 999999999; "Número fuera de rango." ;
Let ( [millones = Int (CANTIDAD/10^6 );
miles = Int (Mod (CANTIDAD ; 10^6 )/10^3);
cientos = Int ( Mod (CANTIDAD ; 10^3 ) );
centavos = Int ( (CANTIDAD - Int (CANTIDAD ) ) * 100 )];
"(" &
Choose ( Int ( millones/100 ); "";If ( millones = 100 ; "cien " ; "ciento " );"doscientos ";"trescientos ";"cuatrocientos ";"quinientos ";"seiscientos ";"setecientos ";"ochocientos ";"novecientos " )
&
Case ( Mod ( millones ; 100 ) < 30 ; Choose ( Mod ( millones ; 100 ) ; "";"un ";"dos ";"tres ";"cuatro ";"cinco ";"seis ";"siete ";"ocho ";"nueve ";
"diez ";"once ";"doce ";"trece ";"catorce ";"quince ";"dieciseis ";"diecisiete ";"dieciocho ";"diecinueve ";"veinte ";
"veintiun ";"veintidos ";"veintitrés ";"veintucuatro ";"veinticinco ";"veintiseis ";"veintisiete ";"veintiocho ";"veintinueve "
);
Choose ( Int ( Mod ( millones ; 100 ) / 10 ) ; "";"";"";"treinta ";"cuarenta ";"cincuenta ";"sesenta ";"setenta ";"ochenta ";"noventa ")
&
Choose ( Mod ( millones ; 10 ) ;"";"y un ";"y dos ";"y tres ";"y cuatro ";"y cinco ";"y seis ";"y siete ";"y ocho ";"y nueve ") )
&
Case ( millones = 0 ; "" ;
millones = 1 ; "millón ";
"millones " )
&
Choose ( Int ( miles/100 ); "";If ( miles = 100 ; "cien " ; "ciento " );"doscientos ";"trescientos ";"cuatrocientos ";"quinientos ";"seiscientos ";"setecientos ";"ochocientos ";"novecientos " )
&
Case ( Mod ( miles ; 100 ) < 30 ; Choose ( Mod ( miles ; 100 ) ; "";"";"dos ";"tres ";"cuatro ";"cinco ";"seis ";"siete ";"ocho ";"nueve ";
"diez ";"once ";"doce ";"trece ";"catorce ";"quince ";"dieciseis ";"diecisiete ";"dieciocho ";"diecinueve ";"veinte ";
"veintiun ";"veintidos ";"veintitrés ";"veintucuatro ";"veinticinco ";"veintiseis ";"veintisiete ";"veintiocho ";"veintinueve "
);
Choose ( Int ( Mod ( miles ; 100 ) / 10 ) ; "";"";"";"treinta ";"cuarenta ";"cincuenta ";"sesenta ";"setenta ";"ochenta ";"noventa ")
&
Choose ( Mod ( miles ; 10 ) ;"";"y un ";"y dos ";"y tres ";"y cuatro ";"y cinco ";"y seis ";"y siete ";"y ocho ";"y nueve ") )
&
Case ( miles = 0 ; "" ; "mil " )
&
Choose ( Int ( cientos/100 ); "";If ( cientos = 100 ; "cien " ; "ciento " );"doscientos ";"trescientos ";"cuatrocientos ";"quinientos ";"seiscientos ";"setecientos ";"ochocientos ";"novecientos " )
&
Case ( Mod ( cientos ; 100 ) < 30 ; Choose ( Mod ( cientos ; 100 ) ; "";"un ";"dos ";"tres ";"cuatro ";"cinco ";"seis ";"siete ";"ocho ";"nueve ";
"diez ";"once ";"doce ";"trece ";"catorce ";"quince ";"dieciseis ";"diecisiete ";"dieciocho ";"diecinueve ";"veinte ";
"veintiun ";"veintidos ";"veintitrés ";"veintucuatro ";"veinticinco ";"veintiseis ";"veintisiete ";"veintiocho ";"veintinueve "
);
Choose ( Int ( Mod ( cientos ; 100 ) / 10 ) ; "";"";"";"treinta ";"cuarenta ";"cincuenta ";"sesenta ";"setenta ";"ochenta ";"noventa ")
&
Choose ( Mod ( cientos ; 10 ) ;"";"y un ";"y dos ";"y tres ";"y cuatro ";"y cinco ";"y seis ";"y siete ";"y ocho ";"y nueve ") )
&
Case ( Int ( CANTIDAD ) = 1 ; "peso "; Int (CANTIDAD ) = 0 ; "cero pesos "; "pesos " )
&
If (centavos < 10 ; "0";"") & centavos & "/100 MN)"
)
)