Estudos gratuitos da ER Soluções WebVer outros conteúdos grátis
ER Soluções WebEstudos · Patterns of Enterprise Application Architecture

18.7. Money

Valor monetário = quantia + moeda, com aritmética segura.

Cem reais divididos em três partes: 33,34 + 33,33 + 33,33, sem perder centavos
Alocar sem perder centavos: 100 ÷ 3 = 33,34 + 33,33 + 33,33.

Resumo

Perguntas-chave

responda de cabeça, depois abra
Por que não usar float para dinheiro?
Ponto flutuante introduz erros de arredondamento (0,1 + 0,2 ≠ 0,3).
O que é alocação em Money?
Dividir uma quantia em partes (iguais ou por proporção) sem perder nem criar centavos.
O que acontece ao somar moedas diferentes?
Deve dar erro ou exigir conversão explícita.

Exercícios de fixação

0/5 respondidas
1.
Uma conta de R$ 100,00 é dividida entre 3 pessoas e o sistema gera 33,33 × 3 = 99,99. Qual operação de Money resolve?
2.
Por que Money deve guardar a quantia em inteiros (centavos) ou decimal exato?
3.
Money(10, BRL).add(Money(5, USD)) deve:
4.
Money é um caso de qual padrão mais geral?
5.
Como dividir R$ 0,05 na proporção 70% / 30% sem perder centavos?
Seu progresso fica salvo neste navegador.