Looplex Knowledge Base
Expanded number
O tube expandedNumber recebe um número real como parâmetro e devolve o número por extenso. Existem parâmetros para determinar a unidade de medida, condicionando a flexão de gênero (feminino/masculino) e de número (singular/plural).
Formato:
expandedNumber(real, numeroFixoDeDigitos)expandedNumber(real, generoDaUnidade, nomeDaUnidade, numeroFixoDeDigitos)expandedNumber(real, generoDaUnidade, nomeDaUnidade, generoDoDecimal, nomeDoDecimal, numeroFixoDeDigitos)
Parâmetros:
- real: Valor a ser escrito por extenso
- generoDaUnidade: Gênero da unidade de medida {"M", "F"}. Default: M
- nomeDaUnidade: Nome da parte inteira da unidade de medida
- generoDoDecimal: Gênero da parte decimal da unidade de medida {"M", "F"} Default: M
- nomeDoDecimal: Nome da parte decimal da unidade de medida
- numeroFixoDeDigitos: Número de casas decimais fixas. Opcional. Default: 2.
Na ausência do parâmetro de gênero, o default é masculino.
Vale salientar que tanto o nomeDaUnidade, quanto o nomeDoDecimal devem ser escritos no singular masculino e devem estar cadastrados na gramática do sistema. Do contrário, um erro será devolvido.
Retorno:
O retorno do tube expandedNumber é uma String que corresponderá ao número real escrito por extenso.
Exemplo:
1. <vigencia> = 18
print "O presente instrumento será vigente por " & <vigencia> & " " & "(" & expandedNumber(<vigencia>) &") meses."
Retorna
O presente instrumento será vigente por 18 (dezoito) meses.
Utilização dos parâmetros:
generoDaUnidade: Este parâmetro determina a flexão de gênero do número. Vejamos:
<numero> = 22,0, print expandedNumber(<numero>, "F") & "\b", print expandedNumber(<numero>, "M") & "\b", print expandedNumber(<numero>)
Retorno:
"vinte e duas"
"vinte e dois"
"vinte e dois"
Se o gênero não for especificado, a flexão se dará no masculino.
nomeDaUnidade: Este parâmetro define o print da unidade de medida utilizada. Deve estar escrito no singular masculino e constar no dicionário gramatical Looplex, caso contrário o parâmetro será ignorado. O termo passado como parâmetro será flexionado em número. Se não for indicado gênero, flexiona-se apenas em número.
<quantasDuzias> = 5,0 <quantosMetros> = 1,0, print expandedNumber(<quantasDuzias>, "F", "dúzia") & "\b", print expandedNumber(<quantosMetros>, "M", "metro") & "\b",
Retorno:
"cinco dúzias"
"um metro"
generoDoDecimal e nomeDoDecimal: Estes parâmetros funcionam tal qual os descritos acima. O nomeDoDecimal deve estar escrito no singular masculino e constar no dicionário gramatical Looplex, caso contrário será ignorado.
<distancia> = 12,5, print expandedNumber(<distancia>, "M", "metro", "M", "centímetro") & "\b",
Retorno:
"doze metros e cinquenta centímetros"
numeroFixoDeDigitos: Este parâmetro define o número de casas decimais. Caso não seja preenchido, o número default é 2. Serve para ajustar a ordem de grandeza da diferença entre a unidade de medida e a unidade decimal especificada. No exemplo acima, em que tratamos de metros e centímetros, não foi preciso definir um parâmetro, pois a diferença da ordem de grandeza é 2 (1 metro = 10² centímetros), valor default do parâmetro. Já quando lidamos com as unidades quilo e grama, a ordem de grandeza é 3 (1 quilo = 10³ gramas), portanto devemos especificar o parâmetro numeroFixoDeDigitos. Vejamos:
<peso> = 22,7, print expandedNumber(<peso>, "M", "quilo", "M", "grama", 3) & "\b"
Edit this page on GitHubRetorno: "vinte e dois quilos e setecentos gramas" Se o parâmetro não fosse especificado, o retorno seria "vinte e dois quilos e setenta gramas.