Formatação Numérica no Python: Formatando corretamente!
Quer aprender como fazer a formatação numérica no Python da forma correta? Você vai aprender como fazer isso e as diferentes formas que pode utilizar para fazer essas formatações dentro do seu código!
A formatação numérica no Python é feita com f-strings: dentro das chaves, depois do nome da variável, você coloca dois pontos e o formato, como f'{valor:,.2f}' (separador de milhar e duas casas decimais) ou f'{margem:.2%}' (percentual). O padrão é o americano, com vírgula no milhar e ponto no decimal; para o brasileiro, formate com _ e troque os símbolos com .replace().
O que você vai aprender?
Introdução à Formatação Numérica no Python
Você já deve ter passado por uma situação em que coloca valores, mas não sabe como formatar eles dentro do Python, e isso pode até te atrapalhar na hora de fazer alguns cálculos.
No post de hoje, nós vamos te mostrar como fazer essa formatação para que seus dados fiquem formatados de forma correta e para melhorar a visualização deles.
Animado para aprender como fazer essa formatação? Então vamos a aula!
Para fazer o download do(s) arquivo(s) utilizados na aula, preencha com o seu e-mail:
Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.
Formatação Numérica no Python
Antes de iniciar é bom informar que vamos utilizar o editor de Python Jupyter, então as imagens que vão ver serão desse editor, mas o procedimento vai funcionar em qualquer IDE que estiver utilizando.
faturamento = 1500
custo = 500
lucro = faturamento - custo
print(f'O lucro foi de {lucro}')
margem = lucro / faturamento
print(f'A margem foi de {margem}')Aqui temos o nosso primeiro exemplo já declarando algumas variáveis: faturamento, custo e lucro.
Logo abaixo nós temos um print para mostrar o resultado do nosso lucro, no entanto estamos utilizando um f string.
OBS: Essa f string só vai funcionar nas versões do Python a partir da versão 3.6.
Como Usar f-strings no Python
Antes de partirmos para a formatação de fato, vamos te mostrar como utilizar um f string no Python.
A estrutura é essa, nós vamos colocar um f antes do texto, depois vamos escrever o texto normalmente, no entanto, no local onde queremos inserir um valor, nós vamos colocar a variável desejada entre chaves.
É possível notar que até a cor fica diferente, para informar que temos uma estrutura diferente.
Neste caso o Python vai entender que nesse campo ele tem que colocar o valor da variável em questão, então ele não vai simplesmente escrever o nome da variável, mas vai puxar o valor dela para ser representado dentro do texto.
faturamento = 1500
custo = 500
lucro = faturamento - custo
print(f'O lucro foi de R${lucro}')
Neste caso já fizemos a inserção do R$ de forma manual dentro do próprio texto. Logo abaixo é possível perceber que temos um segundo exemplo utilizando a mesma estrutura, então vai funcionar da mesma forma para inserir o valor de uma variável.
margem = lucro / faturamento
print(f'A margem foi de {margem}')
Formatando Decimais e Separadores de Milhar
Agora nós temos duas informações importantes caso você queira inserir o separador decimal no Python ou inserir o separador de milhar no Python.
Para inserir essas informações temos que colocar após a variável o símbolo de dois pontos.
Para o separador de milhar nós vamos colocar uma vírgula após os 2 pontos, e para o separador decimal nós vamos colocar a seguinte estrutura.
.Nf
- O ponto é para indicar que temos um separador decimal;
- O N é o número de casas decimais que vamos ter;
- E o f é para indicar que temos um float, ou seja, um número com casas decimais.
Então teremos os seguintes resultados para os nossos 2 exemplos:
faturamento = 1500
custo = 500
lucro = faturamento - custo
print(f'O lucro foi de R${lucro:,.2f}')
margem = lucro / faturamento
print(f'A margem foi de {margem:,.2f}')
Veja que no segundo exemplo já temos até um arredondamento automático para facilitar o cálculo ao invés daquela dízima periódica.
Formatando Percentuais no Python
No segundo exemplo funcionou normalmente, mas nós não queremos o número no formato decimal e sim em percentual, pois estamos calculando uma margem.
Então vamos simplesmente substituir a letra f pelo símbolo % para que o Python entenda que queremos percentual ao invés de decimal.
margem = lucro / faturamento
print(f'A margem foi de {margem:.2%}')
Continuamos com o número 2, pois queremos 2 casas após o ponto para visualizar melhor os valores, mas nesse caso não estamos utilizando o f, então por mais que tenhamos os valores decimais não é um número decimal e sim um percentual.
Assim temos a formatação em percentual no Python, seguindo o mesmo procedimento dos números para indicar as casas decimais.
Como Exibir Números no Formato Brasileiro
Nesse momento você deve estar se perguntando, mas nós estamos no Brasil e os nossos separadores são invertidos. Utilizamos ponto como separador de milhar e vírgula como separador decimal.
Então como eu vou fazer para colocar no formato brasileiro? Nós vamos responder isso agora, o primeiro passo é trocar o separador de milhar de vírgula para _ (underline), pois o Python possui essa função e isso vai nos permitir fazer uma substituição logo a frente.
texto_lucro = f'R${lucro:_.2f}'
print(f'O lucro foi de {texto_lucro}')
Aqui nós vamos colocar uma etapa antes de dar o resultado para fazer uma substituição do que é ponto por vírgula e em seguida vamos trocar o que é underline por ponto.
texto_lucro = f'R${lucro:_.2f}'
texto_lucro = texto_lucro.replace('.',',').replace('_','.')
print(f'O lucro foi de {texto_lucro}')
Dessa forma teremos o nosso formato brasileiro para representar os nossos dados.
Nesse momento você pode estar se perguntando, mas porque não poderia deixar o separador de milhar como vírgula e substituir como foi feito?
Isso não pode porque no primeiro momento teríamos a substituição do ponto por vírgula e logo em seguida nós estaríamos substituindo as vírgulas (que agora seriam 2) por ponto.
Então teríamos o seguinte resultado: R$1.000.00, ou seja, o resultado iria ter 2 pontos ao invés do ponto e depois a vírgula.
Isso é algo bem importante de se analisar nesses casos, pois a ordem que a gente faz as coisas pode influenciar no resultado. E termos o nosso separador de milhar e separador decimal com o mesmo símbolo pode trazer problemas para o sistema entender aquele número da forma correta.
Então é importante que faça esses testes e sempre verifique se o resultado é o que está esperando e se faz sentido essa saída para que não tenha problema em outras etapas.
Já imaginou se ao final você ainda quer fazer alguma operação com esse valor final? Isso pode gerar alguns problemas nos processos e simplesmente por conta do formato, pode nem ser o cálculo em si.
Conclusão - Formatação Numérica no Python
Nessa aula conseguimos aprender algumas informações importantes sobre a formatação numérica no Python.
Conseguimos ver como alterar o formato decimal e o formato percentual dos valores.
Aprendemos também como alterar do formato americano de valores para o formato brasileiro, deixando o ponto como separador de milhar e a vírgula como separador decimal.
Essa modificação foi feita com o método replace(), que troca o primeiro texto informado pelo segundo.
Para saber mais, confira nosso curso de Python completo!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!
O que você aprende neste vídeo
Resposta rápida: A aula explica cada peça do formato na f-string (a vírgula do milhar, o ponto com o número de casas e o f, trocado por % no percentual) e por que, no padrão brasileiro, o milhar é formatado com underline. O limite: a formatação transforma o número em texto e entra só na hora de exibir.
Neste vídeo (17 min):
- 1:37 - Apresenta a f-string: um
fantes do texto e, entre chaves, a variável, que sai trocada pelo valor dela. No exemplo, o lucro de mil, faturamento de 1.500 menos custo de 500. - 2:20 - Explica o erro de escrever o nome da variável solto no texto, sem o
fe as chaves: o Python entende a palavra lucro, e não o valor da variável. - 3:09 - Mostra que, por padrão, o Python não põe separador de milhar e usa o ponto como separador decimal: 3,15 se escreve 3.15.
- 5:07 - Os dois pontos depois da variável abrem a formatação, e a vírgula, em
{lucro:,}, põe o separador de milhar. - 6:02 - Para as casas decimais, junta três peças: um ponto, o número de casas e um
f. Com.2f, o lucro ganha duas casas, ainda com o ponto do padrão do Python. - 7:13 - Junta as duas coisas em
:,.2f, separador de milhar e duas casas, com o R$ escrito fora das chaves, como texto. - 7:39 - Muda o número de casas: uma, com
.1f, ou cinco, com.5f. - 9:21 - Calcula a margem, lucro sobre faturamento, e o
.2farredonda o 0,666 do exemplo para 0,67. - 9:39 - Troca o
fpor%, e a margem sai em percentual,66.67%no exemplo; com.0%e.1%, sai com nenhuma ou com uma casa decimal. - 13:05 - Mostra o problema de trocar a vírgula por ponto e depois o ponto por vírgula: o número não chega ao padrão brasileiro.
- 13:15 - O macete: formatar o milhar com underline (
_) em vez de vírgula, e o lucro sai1_000.00. - 14:45 - Com dois
replace, primeiro o ponto por vírgula e depois o underline por ponto, o lucro sai1.000,00.
Trechos do vídeo:
- O separador de milhar vem sempre antes das casas decimais, como se o número fosse formatado da esquerda para a direita: com
.2fantes da vírgula, o formato dá errado. - Não dá para pôr o ponto como separador de milhar direto no formato: com um ponto no lugar da vírgula, o Python não coloca o ponto no milhar.
- Com
replace, não dá para trocar vírgula por ponto e ponto por vírgula ao mesmo tempo: uma troca vem depois da outra, e a segunda alcança também os símbolos que a primeira acabou de criar. Por isso, no padrão brasileiro, o milhar se formata com underline, e não com vírgula.
Perguntas frequentes
1. Como mostrar um número com 2 casas decimais no Python?
Use o especificador .2f na f-string: f'{2/3:.2f}' exibe 0.67. A formatação só muda a exibição e devolve um texto; para arredondar o próprio número e continuar fazendo contas com ele, use round(valor, 2).
2. Como formatar porcentagem no Python?
Troque o f por % no especificador: f'{0.6667:.2%}' exibe 66.67%. O Python já multiplica o valor por 100, então passe a fração (0.25), e não o número 25.
3. Como exibir valores no formato brasileiro, como R$ 1.500,00?
Formate com _ no milhar e depois inverta os símbolos: f'R$ {valor:_.2f}'.replace('.', ',').replace('_', '.'). Se preferir uma biblioteca, format_currency(valor, 'BRL', locale='pt_BR'), do pacote Babel, faz o mesmo sem depender da configuração regional do sistema.
4. Qual a diferença entre f-string, format() e o operador % no Python?
As três chegam ao mesmo texto: f'{x:.2f}', '{:.2f}'.format(x) e '%.2f' % x. A f-string existe desde o Python 3.6 e é a forma mais legível; as outras duas aparecem em código mais antigo.
Hashtag Treinamentos
Para acessar outras publicações de Python, clique aqui!
Posts mais recentes de Python
- Curso Básico de Python: Saia do Zero em 10 Aulas GrátisAprenda com o curso básico de Python gratuito da Hashtag: 10 aulas práticas, exercícios e projetos reais para sair do zero em programação.
- Agentes RAG com Python: como criar um assistente de IAAprenda a criar Agentes RAG com Python do zero: LangChain, FAISS e OpenAI para montar um assistente de IA que responde com base nos seus documentos.
- 25 Tipos de Gráficos em Python: Guia Completo com CódigoAprenda a criar os principais tipos de gráficos em Python com Plotly: barras, pizza, mapas e mais, com código pronto para copiar e usar.
Posts mais recentes da Hashtag Treinamentos
- Planilha de Controle de Notas Fiscais no Excel [Grátis]Baixe a planilha de controle de notas fiscais no Excel grátis: calcule ISS e retenções, veja o que está em aberto e gere a cobrança de cada nota de serviço.
- Qual IA usar na empresa: ChatGPT, Claude ou Perplexity?Qual IA usar na empresa: veja as diferenças entre ChatGPT, Claude e Perplexity e quando cada um rende mais em cada área da sua equipe.
- Apostilas Gratuitas em PDF: Excel, Power BI, Python e IABaixe apostilas gratuitas em PDF de Excel, Power BI, Python, Claude e agentes de IA, com exercícios e gabarito. Escolha a sua e comece hoje.








