Todas as coleções
Build
Funções Double Braces
Double Braces - Funções Numéricas
Double Braces - Funções Numéricas

Saiba quais são as funções numéricas associadas aos Double Braces e como utilizá-las.

Micaella Mazoni avatar
Escrito por Micaella Mazoni
Atualizado há mais de uma semana

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:

Respondeu à sua pergunta?