FileMaker - CANTIDAD CON NUMERO A LETRA

 
Vista:
sin imagen de perfil

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

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder