Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.

No dia a dia, a gente costuma confiar no comando round para arredondar números, mas a precisão do ponto flutuante do Python pode gerar surpresas.
Por exemplo, ao fazer round(12.675, 2), o resultado esperado seria 12.68, certo? Mas dependendo da forma que o Python armazena esse número na memória, ele pode acabar retornando 12.67, por causa das limitações na representação binária dos decimais.
Na prática, isso impacta quem trabalha com cálculos financeiros ou qualquer cenário onde a precisão é prioridade. Uma solução comum é usar a biblioteca decimal, que oferece maior controle sobre a precisão e o arredondamento. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
Você já passou por situações assim? Como lida com essas diferenças na sua rotina de desenvolvimento? Será que a documentação do Python está clara o suficiente para evitar esses contratempos? O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
Já passei por isso, e no meu time a gente sempre recomenda usar decimal quando o negócio é financeiro. A precisão faz diferença e evita essas surpresas na hora da entrega.
Pra quem nao conhece o decimal e uma mao na roda mas e bom ficar atento ao custo de processamento. Acho que a documentacao poderia trazer exemplos mais praticos de uso especialmente pra quem vem do mundo financeiro.
Exato, Camila. No meu projeto, usávamos o float padrão e acabamos tendo que refazer o cálculo várias vezes pra garantir a precisão. Acho que a documentação do Python poderia dar mais ênfase na diferença entre float e decimal nessas situações.
Sim, e além do mais, o
decimaltem uma performance menor, o que às vezes pesa se você precisa fazer milhares de cálculos por segundo.