Descrição
Retornar valores em extenso. |
Sintaxe
Extenso( <nValor>, <lQuantid>, <nMoeda>, <cPrefixo>, <cIdioma>, <lCent>, <lFrac> ) |
Parâmetros
Par | Nome | Tipo | Descrição | Default | Obg | Ref |
01 |
nValor | Numérico | Valor numerico no qual a função retornara o seu valor numérico | X | ||
02 | lQuantid | Boolean | Valor logico que especifica se o retorno da Extenso sera para quantidade ou para valores | .F. | ||
03 | nMoeda | Numérico | Identifica em que moeda se dará o retorno | |||
04 | cPrefixo | Caracter | Prefixo alternativo. Caso especificado, prefixa o retorno do extenso. Fazendo com que a unidade monetária não seja impressa | |||
05 | cIdioma | Caracter | Especifica em qual idioma devera ser retornado o valor do extenso.(1=Port.2=Espa.3=Ingl) | |||
06 | lCent | Boolean | Especifica se a função devera retornar os centavos | .T. | ||
07 | lFrac | Boolean | Especifica se os centavos deverão ser retornados em modo fracionado(Somente funcionara com o idioma Inglês | .F. |
Retorno
Retorno | Tipo | Descrição |
Exemplo
#INCLUDE "TOTVS.CH" User Function Extenso() Local nValor := 521.12 MsgInfo( 'Valor: ' + cValtoChar( nValor ) + CRLF + ' Retorno: ' + Extenso(nValor), 'UniversoADVPL' ) Return( Nil )
Resultado
Informações adicionais
Mudança: – Alteração nas strings traduzidas no CH, pois as mesmas limitam o uso do idioma através da compilação da diretiva IFDEF SPANISH ou ENGLISH. Ou seja, todo o texto ficara na própria função visto que poderemos querer um texto em inglês mesmo usando o repositório em português. – Passaremos a utilizar o parâmetro nMoeda (que ate então não tinha finalidade) para saber em qual moeda se deseja o extenso. – Para o texto (em singular) que representa a moeda serão usados os ja existentes MV_MOEDAx (onde x de 1 a 5) e deverão ser criados mais cinco parâmetros MV_MOEDAPx (onde x de 1 a 5) para os respectivos plurais. – Serão necessários três novos parâmetros na função: 1) cIdioma: define em que idioma sera retornado o extenso. Sendo possíveis: 0-RPO;1-português;2-espanhol;3-inglês. O default 0 (zero), para manter compatibilidade com o uso anterior. 2) lCent: considera ou não os centavos/decimais. O default true, para manter compatibilidade com o uso anterior. 3) lFrac: informa se o formato dos centavos ser em notação fracionaria. O default false, para manter compatibilidade com o uso anterior |
Gostou? Compartilhe com seus amigos e deixe um comentário! 😎