Erro · Power Automate · InvalidTemplate

Erro "The template language function 'float' was invoked with a parameter that is not valid"

A função float converte texto em número, mas usa por padrão a notação americana: ponto decimal e vírgula como separador de milhar. Um valor brasileiro como '1.234,56' mistura os dois símbolos de um jeito que essa notação não aceita, e o fluxo para com...

A mensagem completa

The template language function 'float' was invoked with a parameter that is not valid. The value cannot be converted to the target type.

No histórico de execuções, essa mensagem aparece dentro de uma frase maior: Unable to process template language expressions in action 'NOME_DA_ACAO' inputs at line '0' and column '0': '...'. O nome da ação é o da ação que contém a expressão e muda de fluxo para fluxo. O trecho em destaque acima é o que identifica o problema.

Executamos expressões que geram este erro em um fluxo de teste do Power Automate, sem conectores e sem dados reais, em 09/11/2026. O texto exato pode variar entre ambientes e versões do serviço.

O que significa

A função float converte texto em número, mas usa por padrão a notação americana: ponto decimal e vírgula como separador de milhar. Um valor brasileiro como '1.234,56' mistura os dois símbolos de um jeito que essa notação não aceita, e o fluxo para com InvalidTemplate. O caso traiçoeiro é o '1,5', que não dá erro e vira 15.

Causas mais comuns

Como corrigir

  1. Informe a cultura do texto: float('1.234,56', 'pt-BR') devolve 1234.56.
  2. Se o texto traz 'R$' ou espaços, limpe com replace antes de converter.
  3. Cuidado com valores sem ponto de milhar: float('1,5') não falha, mas devolve 15, porque a vírgula é descartada. Use a cultura 'pt-BR' também nesse caso.
  4. Defina o formato na origem (por exemplo, sempre o padrão brasileiro) e documente, para que o fluxo não receba os dois formatos.

Exemplo: antes e depois

ExpressãoResultado no Power Automate
float('1.234,56')Erro. The template language function 'float' was invoked with a parameter that is not valid. The value cannot be converted to the target type.
float('1.234,56','pt-BR')1234.56

Os dois resultados vêm da execução real de 09/11/2026, e um teste automático do Me Ajuda Flow confere que o texto desta página é idêntico ao registrado.

Como evitar que o erro volte

Perguntas frequentes

float('1,5') dá erro?

Não. Em execução real, ele devolve 15, sem aviso. É pior que um erro, porque o fluxo segue com um valor errado. Use float('1,5', 'pt-BR') para obter 1.5.

Posso usar replace em vez da cultura?

Pode: replace(replace(texto, '.', ''), ',', '.') também funciona para o padrão brasileiro. A cultura é mais curta, mas a limpeza com replace serve quando o texto tem símbolos extras.

Funções relacionadas

Ferramentas e guias

Fontes

← Ver todos os erros e usar o decodificador