Blog

Postado em em 2 de abril de 2022

Contas Erradas no Python – Números com Muitas Casas Decimais

Hoje eu vou te mostrar contas erradas no Python e por que acontece isso e o que você pode fazer para resolver esse problema!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Contas Erradas no Python

Você já deve ter notado que algumas contas em Python não estão certas e hoje eu vou explicar por que isso acontece e como você pode resolver esse problema.

Alguma das vezes nós precisamos de cálculos precisos para retornar um determinado valor, então é importante que esse cálculo seja feito de forma correta.

Números com Muitas Casas Decimais

Vamos iniciar com um exemplo bem simples para que você entenda o que acontece no Python e como ele acaba te retornando um valor um pouco diferente do esperado.

Cálculo entre 2 números decimais
Cálculo entre 2 números decimais

Aqui temos um código bem simples para somar 10,1 com 10,2. Somando normalmente você sabe que o resultado seria 20,3.

Mas se você notar no resultado dentro do terminal vai ver que temos muitas casas decimais no Python, então por que isso acontece?

Não sei se você sabe, mas os programas no geral no seu computador, eles vão ler os números ou números decimais no formato binário, ou seja, você vai ter apenas 0 e 1 para compor um valor.

Então quando o Python tenta fazer esse cálculo de 10,1 com 10,2 ele transforma esse número em binário para fazer essa operação.

Só que nessa operação o resultado dele acaba não sendo exatamente o que esperamos por conta desse método.

Então em alguns casos você vai conseguir o resultado correto sem nenhuma casa decimal, mas em outros casos vai acontecer o que mostramos na imagem.

Isso quer dizer que os cálculos em Python estão certos, mas de uma maneira diferenciada, então como o resultado acaba não sendo exatamente o que você quer, acaba também estando errado.

É um pouco confuso, mas o cálculo em si está correto, só que como temos muitas casas decimais, se você arredondar o valor já terá um resultado correto.

No entanto, algumas vezes precisamos do resultado final sem nenhum tratamento, até para evitar erros ou que eles sejam propagados.

Caso você não queira fazer nenhum tratamento e já ter o resultado direto para mostrar você pode utilizar a biblioteca decimal no Python (já vem instalada).

Qual a grande diferença dessa biblioteca? Ela consegue armazenar números em formato de texto. É isso mesmo que você leu, vamos guardar números em formato de texto para poder fazer esses cálculos.

Cálculo utilizando a biblioteca decimal
Cálculo utilizando a biblioteca decimal

Dessa forma você vai garantir que o número foi somado “corretamente” e vai te dar o resultado esperado.

Dentro do terminal temos o nosso primeiro resultado com a soma padrão do Python, depois utilizando o comando round (para arredondar) e por fim fazendo a soma com a biblioteca decimal.

Conclusão de Contas Erradas no Python

Nessa aula eu te mostrei erros de cálculos em Python que podem acontecer com números decimais e como você pode corrigir esse problema caso precise mostrar o resultado final sem nenhum arredondamento ou tratamento.

Esse “problema” ocorre pela forma com que o os programas efetuam os cálculos, então como isso é feito de forma binária esse resultado acaba sendo um pouco diferente do que teríamos normalmente.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador