Referência · Power Automate · Números

int, float e string

Convertem entre texto e número. Parecem simples, mas têm três armadilhas que já derrubaram muito fluxo financeiro: int não aceita decimais, float descarta a vírgula sem avisar e float não entende o formato brasileiro com ponto de milhar.

Sintaxe

int(valor)   float(valor)   string(valor)

Exemplos testados

Cada resultado abaixo é o que o Power Automate devolveu ao executar a expressão em um fluxo de teste (sem conectores e sem dados reais), em 02/11/2026. Um teste automático do Me Ajuda Flow confere que o texto desta página é idêntico ao valor registrado nessa execução.
ExpressãoResultado
int('42')42
float('1.5')1.5
float('19.99')19.99
float('1,5')
a vírgula é descartada, sem erro
15
float('1000,50')
idem: 1000,50 vira 100050
100050
float(replace(replace('1.234,56', '.', ''), ',', '.'))
limpeza para o padrão brasileiro
1234.56
float(replace(replace('-1.234,56', '.', ''), ',', '.'))-1234.56
float(replace(replace('1000.50', '.', ''), ',', '.'))
a limpeza estraga texto com ponto decimal
100050
int(formatNumber(float('3.14'), 'F0'))3
string(42)
devolve o texto 42
42
bool('true')true

Quando usar

Use int e float quando um valor chega como texto (campos de formulário, colunas de texto, anexos) e você precisa calcular com ele. O cuidado é sempre o mesmo: descubra em que formato o texto vem. Se vem como 1234.56, float serve direto; se vem como 1.234,56 ou 1234,56 (padrão brasileiro), é preciso limpar antes, porque a conversão direta ou falha ou, pior, devolve um valor cem vezes maior sem nenhum aviso. Quando o resultado precisa ser inteiro, evite int sobre decimais e trabalhe desde o início em centavos. Valide o resultado (maior que zero, dentro de uma faixa esperada) antes de gravar em qualquer sistema.

Armadilhas

Perguntas frequentes

Como evitar erros de arredondamento com dinheiro?

Converta o valor para centavos inteiros e calcule com div e mod. Veja o guia de parcelas.

Como converter um valor no padrão brasileiro para centavos?

int(replace(formatNumber(float(replace(replace(x, '.', ''), ',', '.')), '0.00', 'en-US'), '.', '')) devolve 123456 para 1.234,56, e -123456 para -1.234,56 (testado).

Funções relacionadas

Ferramentas para testar

Fonte oficial