Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Desafio: Calculando pedidos

 decimal Hambúrguer = 12,00;
 decimal Batata_frita = 7,00;
 decimal Refrigerante = 5,00;
decimal Valor_total = Hambúrguer + Batata_frita + Refrigerante;
println("o valor total da compra é" + Valor_total);

//eu fiquei em duvida se tem que por a tag decimal, int ou double. qual seria a melhor pra mexer com dinheiro?
1 resposta
solução!

Olá Otávio.
Tudo bem?
Quando trabalhamos com dinheiro na programação, existe um problema muito comum que quase ninguém explica no começo: números decimais nem sempre são representados com precisão pelo computador.
Por exemplo, em várias linguagens:

print(0.1 + 0.2)
# 0.30000000000000004

Isso acontece porque computadores armazenam números decimais em binário, e muitos valores não conseguem ser representados exatamente.
Agora imagine isso em um sistema financeiro:

  • juros
  • descontos
  • parcelas
  • impostos
  • milhares de operações por dia

Um pequeno erro de precisão pode virar um grande problema.
Por isso, uma das abordagens mais seguras é trabalhar com o menor valor inteiro da moeda.
Exemplo:

  • R$ 10,50 → 1050 centavos
  • R$ 3,99 → 399 centavos
    Assim todos os cálculos são feitos usando int, evitando erros de arredondamento.
    Depois, no final, o valor é formatado novamente para moeda.
    Exemplo em Java:
int saldo = 1050;
int compra = 399;

int resultado = saldo - compra;

System.out.println(resultado); // 651 centavos

Formatando:

System.out.printf("R$ %.2f", resultado / 100.0);
// R$ 6,51

Em Python:

saldo = 1050
compra = 399

resultado = saldo - compra

print(f"R$ {resultado / 100:.2f}")
# R$ 6.51

Hoje existem bibliotecas específicas para lidar com dinheiro de forma precisa, como:

  • BigDecimal no Java
  • Decimal no Python

Exemplo com precisão correta em Python:

from decimal import Decimal

print(Decimal("0.1") + Decimal("0.2"))
# 0.3

Resumindo:

  • Evite float para dinheiro
  • Prefira inteiros (centavos) ou bibliotecas de precisão decimal
  • Pequenos erros financeiros podem causar grandes prejuízos

Comenta aí qualquer duvida.
Bons estudos.