Neste artigo vamos aprender a arredondar um float no Python, de uma forma simples, seguindo as boas práticas da linguagem.
Fala programador(a), beleza? Bora aprender mais sobre Python!
O problema do float no Python não é necessariamente do Python
O que acontece é a forma que o ponto flutuante é salvo no CPU, pois ele trabalha de forma binária e não decimal
Então é comum termos problemas como este:
soma = 0.1 + 0.2 print(soma) # 0.30000000000000004
Para resolver com o Python temos diversas alternativas
Basicamente vamos formatar o número com o número de casas decimais que desejarmos
Veja três opções:
soma = 0.1 + 0.2 print("%.2f" % soma) # 0.30 print(round(soma,2)) # 0.3 print("{0:.3f}".format(soma)) # 0.300
Então agora temos a possibilidade de manejar o float da forma que o nosso software precisa, sem sofrer da imprecisão do processador 🙂
Utilizando essas formas, na maioria das vezes você terá o número que deseja
Porém pode ser que essa pequena variação te afete em algum nível, de acordo com a precisão que você necessita
Mas na maioria dos casos resolve!
Conclusão
Neste artigo vimos como arredondar um float em Python
E também que o problema não é causado pela linguagem sim pela forma que o valor é salvo pelo CPU
Utilizamos a representação de float com “%.nf”, onde n é o número de casas decimais
O método round, que é amplamente utilizado em outras linguagens e por último o format, que formata o número baseado em um padrão que passamos como parâmetro
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube