Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Conversão de formato de escrita de moedas

Vi esta pergunta no fórum e não fiquei satisfeito com a resposta.

Como faço para formatar o float para que fique R$ 1.350,05, por exemplo?

R$ {:7.2f}".format(1350.05)

No formato acima, ele ficará com a formatação dos estados unidos R$ 1.350.05. Como mudá-la para transformar ao formato brasileiro, fazendo aparecer vírgula na parte decimal.

obrigado.

2 respostas
solução!

Oi Bruno, como vai? Espero que esteja bem ^-^

Podemos utilizar a biblioteca locale e definir que queremos o formato monetário como o brasileiro. Exemplo:

import locale

locale.setlocale(locale.LC_ALL, 'pt_BR.UTF-8')
valor = locale.currency(1350.05, grouping=True)
print(valor)

Resultado: R$ 1.350,05

O parâmetro grouping é para que seja agrupado conforme as casas decimais e fique separado através dos pontos quando necessário.

Caso queira ver mais a respeito dos parâmetros dessa biblioteca, pode conferir neste link da documentação.

Qualquer dúvida estou por aqui.

Abraços e bons estudos!

Obrigado.