(NUMÉRICA) EXTENSO

(NUMÉRICA) EXTENSO
Author: Eurai
Inclusão: 01/01/2016
Alteração: 24/07/2021

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
extenso_-_resultado_01  

 

 

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! 😎  

 

 

 

 

 

 

 

Esse conteúdo te ajudou? Ajude o canal com doação
Compartilhar
Comentários