...
nNumToExt | Value generated in full. |
lQuantid | It determines whether it will be full value or full quantity (default = .F.). |
nMoeda | It identifies the description of the currency that will be taken from the MV_MOEDAx parameter (x= 1...5). |
cPrefixo | Alternative prefix. If specified, prefixes the return and prevents the monetary unit from being returned (default = \" \" ). |
cIdioma | It specifies the language in which to return the function value (1=Port,2=Spa,3=Eng). The default is the System language. |
lCent | It specifies whether the function must return the cents. The default is .T.. |
lFrac | It specifies whether the cents return in fractioned mode (only run if cIdioma = 3 (English)). |
lUsaCon | It specifies whether "y" or "con" is used (only if the language is Spanish). |
cPosMoed | cPosMoed -It specifies the position of the currency description (1=Before the text; 2=Between full values and cents; 3=At the end of the text) |
Informações | ||
---|---|---|
| ||
When using the language functionality, the system fetches the currency description using the MV_MOEDAx and MV_MOEDAPx parameters, where x represents the number of the desired currency sent to the Extenso function using the nMoeda variable. For the text (singular) that represents the currency, the existing MV_MOEDAx parameters are used (where x can be 1 to 5), and 5 more MV_MOEDAPx parameters (where x can be 1 to 5) must be created for the respective plurals. |
...
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#Include "Protheus.ch" |
...
#Include "rwmake.ch" |
...
user function Exte() |
...
Local nValor as numeric |
...
Local lQuantid as logical |
...
Local nMoeda as numeric |
...
Local cPrefixo as character |
...
Local cIdioma as character |
...
Local lCent as logical |
...
Local lFrac as logical |
...
Local lUsaCon as logical |
...
Local cPosMoed as character |
...
nValor:= 3456.72 |
...
lQuantid := .F. |
...
nMoeda := 1 |
...
cPrefixo:= "" |
...
cIdioma := "1" |
...
lCent := .T. |
...
lFrac := .F. |
...
lUsaCon := .T. //Somente espanhol |
...
cPosMoed := "2" |
...
cTexto := Extenso(nValor, lQuantid, nMoeda, cPrefixo,cIdioma,lCent,lFrac,lUsaCon, cPosMoed ) |
...
CONOUT("******************") |
...
CONOUT(cTexto)//TRES MIL, QUATROCENTOS E CINQUENTA E SEIS REAIS E SETENTA E DOIS CENTAVOS |
...
CONOUT("******************") |
...
Return |
...
//Exemplos e retornos: |
...
/* |
...
Extenso(500.00)= "QUINHENTOS REAIS" |
...
Extenso(500.00,.f.,2,,1)= "QUINHENTOS DOLARES" |
...
Extenso(1999.78 ,.T.,2) = "ONE THOUNSAND NINE HUNDRED AND NINETY-NINE" |
...
Extenso(1999.78 ,.F.,1) = "ONE THOUNSAND NINE HUNDRED AND NINETY-NINE DOLLARS AND SEVENTY-EIGHT CENTS" |
...
Extenso(1999.78 ,.F.,1,,,.F.) = "ONE THOUNSAND NINE HUNDRED AND NINETY-NINE DOLLARS" |
...
Extenso(1999.78 ,.F.,1,,"3",.T.,.T.) = "ONE THOUNSAND NINE HUNDRED AND NINETY-NINE AND 78/100 DOLLARS" |
...
Extenso(1999.78 ,.F.,1,,"2",.T.,.F.)= "UM MIL, NOVECIENTOS NOVENTA Y NUEVE DOLARES Y SETENTA Y OCHO CENTAVOS" |
...
Extenso(1999.78 ,.F.,1,,"1",.T.,.F.)= "UM MIL, NOVECENTOS E NOVENTA E NOVE DOLARES E SETENTA E OITO CENTAVOS" |
...
Extenso(0.85,.F.,1,,"3",.T.,.T.)= "85/100 DOLLARS" |
...
Extenso(0.85,.F.,1,,"3",.T.,.F.)= "EIGHTY-FIVE CENTS" |
...
Extenso(2001,.F.,1,,"2",.T.,.F.)= "DOS MIL Y UM DOLARES" |
...
Extenso(500.05,.F.,1,,"3",.T.,.F.)= "FIVE HUNDRED DOLLARS AND FIVE CENTS" |
...
Extenso(500.05,.F.,1,,"3",.T.,.T.)= "FIVE HUNDRED AND 5/100 DOLLARS" |
...
Extenso(500.05,.F.,2,,"1",.T.,.T.)= "QUINHENTOS REAIS E CINCO CENTAVOS" |
...
*/ |
Generic Function - Extenso
Extenso() (SIGAFAT)
KCS - Extenso() - Conversion to other languages
KCS - Extenso function text in plural
GETMV()