IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Funções Numéricas atualizada no nosso novo portal de documentação.
As funções foram criadas para:
acelerar ainda mais a criação das suas integrações
diminuir a complexidade dos seus pipelines
simplificar conversões e transformações dos dados durante o fluxo dos seus pipelines
As funções numéricas realizam tratamentos de números e estão disponíveis para componentes que suportam expressões com Double Braces. Para saber como passar informações para os componentes utilizando esse recurso, clique aqui.
FORMATNUMBER
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função pode ser aplicada para converter um elemento do tipo string ou numérico para um formato definido pelo segundo argumento que especifica o formato de destino (incluindo a possibilidade de tratar o seu locale).
Sintaxe
FORMATNUMBER(valor, "formatDestination", "localeDest"?)
Os itens indicados com "?" podem ser definidos com valor null.
valor: o número que será convertido. Aceita-se string ou número mas dê preferência para passar o parâmetro como string
formatDestination: o formato passado no tratamento do número
localeDest representado locale deve ser considerado para a geração do número. Se o localeDest não for definido, será considerado en-us.
rounding: o tipo de modo de arredondamento que será utilizado. Aceita-se UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN e HALF_EVEN. E o padrão usado pela função é HALF_EVEN
Valor de entrada:
{
"numero": 123456.9123,
"negativo": -987.123
}
Exemplos de conversões:
{
"number-US":{{ FORMATNUMBER( message.numero, "###,###.###", "us-EN") }},
"number-rounding":{{ FORMATNUMBER( TOSTRING(message.numero), "###,###.###", "us-EN", "CEILING") }},
"number-BR":{{ FORMATNUMBER( message.numero, "###,###.###", "pt-BR") }},
"number-BR-1":{{ FORMATNUMBER( message.numero, "###,###.#", "pt-BR") }},
"number-positivo-BR-a": {{ FORMATNUMBER( message.numero, "'+'###,###.###;'-'###,###.###", "pt-BR") }},
"number-negative-BR": {{ FORMATNUMBER( message.negativo, "###,###.###'C';###,###.###'D'", "pt-BR") }},
"number-negative-BR-a": {{ FORMATNUMBER( message.negativo, "'+'###,###.###;'-'###,###.###", "pt-BR") }}
}
Outros exemplos de formatDestination:
Pattern Number Formatted String
###.### 123.456 123.456
###.# 123.456 123.5
###,###.## 123456.789 123,456.79000.
### 9.95 009.95
##0.### 0.95 0.95
TODOUBLE
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função é aplicada para retornar o valor double de um número inteiro.
Sintaxe
TODOUBLE(num1)
{
“a”: 12
}
{
"doub": {{ TODOUBLE( message.a ) }}
}
O retorno dessa função será 12.0.
TOINT
Utilizando Double Braces, você pode combinar a função com o acesso ao elemento do JSON de entrada de um componente.
A função é aplicada para retornar o valor inteiro de um número double.
Sintaxe
TOINT(num1)
{
“a”: 12.345
}
{
"int": {{ TOINT( message.a ) }}
}
O retorno dessa função será 12.
TOLONG
Utilizando Double Braces, você pode ter retornado de um número um valor no tipo LONG. É possível receber tanto uma string como um número como parâmetro de entrada.
Sintaxe
TOLONG(num1)
{
“a”: 12.345
}
{
"long": {{ TOLONG( message.a ) }}
}
O retorno dessa função será 12.
TONUMBER
Essa função permite que você converta uma string para um valor numérico com base no seu formato de origem e locale.
Sintaxe
TONUMBER(string, formatSource, localeSource?, asInteger?)
Os parâmetros indicados com "?" são opcionais.
string: string a ser convertida.
formatSource: formato de origem da string. Ex.: "###.###", "###.#", "###,###.##".
localeSource: locale da string, que se não for definido, será considerado "en-us".
asInteger: valor booleano que indica se a string deve ser convertida para um número inteiro. Caso não seja definido, o valor padrão será false.
Digamos que você precise converter duas strings referentes a um valor numérico genérico e um valor monetário:
{
"generic": "150,30",
"monetary": "R$ 300.754,15"
}
Aplicando a conversão:
{
"generic": {{ TONUMBER(message.generic, "###.##") }},
"currency": {{ TONUMBER(message.currency, "'R$ '###,###.##", "pt-br") }}
}
O resultado será:
{
"generic": 150.33,
"currency": 300754.15
}
Outros exemplos de formatação:
String Formato Numérico
"123.456" ###.# 123.5
"009.95" 000.### 9.95
"0.95" ##0.### 0.95
"-300" '-'### -300
RANDOMNUMBERS
Essa função permite que você gere números inteiros randômicos com base em um intervalo de valores.
Sintaxe
RANDOMNUMBERS(minValue, maxValue)
Digamos que você precise gerar um número randômico dentro do intervalo de 0 a 50000.
Gerando o número:
{
"randomNumber": {{ RANDOMNUMBERS(0, 50000) }}
}
O resultado será:
{
"randomNumber": 37122
}
Os valores que definem o intervalo numérico são inclusivos.
IMPORTANTE: a função tem limitação numérica e aceita apenas valores dentro do intervalo de -9223372036854775808 a 9223372036854775807. Qualquer valor fora desses limites acarretará em uma execução imprevisível da função.
Conheça também as funções: