Ao trabalhar com dados financeiros em um banco de dados do Notion, números brutos como 1234,5 não comunicam claramente valores em moeda. Sem formatação, você corre o risco de interpretar valores errados ou confundir sua equipe durante revisões de orçamento. As fórmulas do Notion não têm uma função nativa de formatação de moeda, mas você pode combinar funções de texto e arredondamento de números para produzir resultados limpos como R$ 1.234,50 ou € 1.234,50. Este artigo explica como construir uma fórmula que adiciona um símbolo de moeda, formata milhares com separadores e arredonda para duas casas decimais.
Principais conclusões: formatar moeda em uma fórmula do Notion
- Funções format() e round(): Convertem um número em texto e limitam as casas decimais a duas.
- Funções slice() e length(): Inserem vírgulas a cada três dígitos a partir da direita da parte inteira.
- Função concat(): Junta o símbolo da moeda, o número formatado e os zeros decimais opcionais.
Como o Notion lida com números e texto em fórmulas
As fórmulas do Notion podem gerar apenas um tipo de dado: texto, número, data ou booleano. Para exibir um símbolo de moeda e separadores de milhar, você deve converter o número em texto usando a função format(). O número bruto permanece inalterado no banco de dados, mas a propriedade da fórmula exibe a string formatada.
Pré-requisitos
Você precisa de um banco de dados do Notion com pelo menos uma propriedade numérica. A fórmula lê esse número e retorna a string de moeda formatada. Não é necessário nenhum plano pago — funciona em todos os planos do Notion.
Funções principais que você usará
format() converte um número em uma string de texto. round() limita o número a duas casas decimais. replace() ou slice() com length() insere vírgulas nas posições corretas. concat() junta todas as partes em uma string final.
Passos para construir uma fórmula de formatação de moeda
Os passos a seguir assumem que sua propriedade numérica se chama “Preço”. Ajuste o nome da propriedade para corresponder ao seu banco de dados.
- Crie uma propriedade de fórmula
Abra seu banco de dados. Clique no ícone + no cabeçalho da última coluna. Selecione “Fórmula” na lista de tipos de propriedade. Nomeie-a como “Preço Formatado”. - Arredonde o número para duas casas decimais
Insira esta fórmula base:round(prop("Preço") * 100) / 100. Multiplicar por 100, arredondar e depois dividir por 100 garante precisão de duas casas decimais. - Converta o número arredondado em texto
Envolva a expressão anterior comformat():format(round(prop("Preço") * 100) / 100). Isso produz uma string como “1234,5”. - Adicione um símbolo de moeda
Useconcat()para prefixar o símbolo. Para reais:concat("R$ ", format(round(prop("Preço") * 100) / 100)). Para euros:concat("€", format(round(prop("Preço") * 100) / 100)). - Insira separadores de milhar
Adicione esta lógica à fórmula. A fórmula completa para reais com separadores é:concat("R$ ", if(length(format(round(prop("Preço") * 100) / 100)) > 3, concat(slice(format(round(prop("Preço") * 100) / 100), 0, length(format(round(prop("Preço") * 100) / 100)) - 3), ".", slice(format(round(prop("Preço") * 100) / 100), length(format(round(prop("Preço") * 100) / 100)) - 3)), format(round(prop("Preço") * 100) / 100))). Isso adiciona um ponto antes dos últimos três dígitos se a parte inteira tiver mais de três dígitos. - Garanta duas casas decimais mesmo para números inteiros
Useformat()com uma condicional para adicionar “,00” quando o número não tiver dígitos decimais. Acrescenteconcat(",", slice("00", length(slice(format(round(prop("Preço") * 100) / 100), find(",", format(round(prop("Preço") * 100) / 100)) + 1, length(format(round(prop("Preço") * 100) / 100)))))). Isso mantém a saída consistente.
Erros comuns a evitar
A fórmula retorna apenas o número bruto sem formatação
Isso acontece quando você esquece de envolver a expressão com format(). Uma fórmula que gera um número não pode exibir símbolos de moeda ou separadores. Sempre converta o resultado final em texto.
O separador é inserido na posição errada
A função slice() usa indexação baseada em zero. Se seu número tiver quatro dígitos inteiros, o separador deve vir após o primeiro dígito. Teste com um valor como 1234,56 para verificar se o separador aparece após “1”.
As casas decimais são truncadas em vez de arredondadas
Usar round() após multiplicar por 100 e dividir por 100 evita truncamento. Não use floor() ou ceil() a menos que queira forçar o arredondamento para baixo ou para cima.
Formatação de moeda em fórmula do Notion: métodos comparados
| Item | Formato básico (R$) | Formato completo com separadores (R$) |
|---|---|---|
| Valor de entrada | 1234,5 | 1234567,89 |
| Saída | R$ 1234,5 | R$ 1.234.567,89 |
| Precisão decimal | Pode mostrar uma casa decimal | Sempre duas casas decimais |
| Posição do separador | Nenhum | A cada três dígitos da direita |
| Complexidade da fórmula | Baixa | Média |
Se sua localidade usa ponto como separador de milhar e vírgula como separador decimal, troque os símbolos na fórmula. Por exemplo, formato europeu: concat("€", replace(sua_string_formatada, ".", ",")) após construir a string com pontos para milhares e vírgula para decimais.
Conclusão
Agora você pode construir uma fórmula do Notion que exibe valores monetários com símbolo, separadores de milhar e duas casas decimais. Comece usando o formato básico com concat() e format(), depois adicione a lógica de inserção de separadores para números grandes. Para uma fórmula mais limpa, considere armazenar o texto arredondado em uma propriedade auxiliar e referenciá-la em sua propriedade de moeda final. Teste com casos extremos como zero e números negativos para confirmar que a fórmula os trata corretamente.