CANTIDAD CON NUMERO A LETRA
Publicado por MIGUEL COBOS (4 intervenciones) el 22/08/2013 17:40:43
Bueno chicos este es mi aporte a este foro, esta es la forma de pasar una cantidad de numero a texto, espero y les sea de utilidad.
lo unico es que debemos de crear un campo de tipo calculo el cual contendra el siguiente codigo.
ejemplo: campo cantidad en letra, tipo calculo
DONDE CANTIDAD ES EL CAMPO QUE CONTIENE EL NUMERO A TRANSFORMAR A LETRA,
PARA CUALQUIER COSA EN LOS QUE LES PUEDA AYUDA, NO DUDEN EN CONSULTARME.
" COBOS "
lo unico es que debemos de crear un campo de tipo calculo el cual contendra el siguiente codigo.
ejemplo: campo cantidad en letra, tipo calculo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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)"
)
)
DONDE CANTIDAD ES EL CAMPO QUE CONTIENE EL NUMERO A TRANSFORMAR A LETRA,
PARA CUALQUIER COSA EN LOS QUE LES PUEDA AYUDA, NO DUDEN EN CONSULTARME.
" COBOS "
Valora esta pregunta
0