| name | financial-precision-decimal |
| description | Usa Decimal ou inteiro em centavos pra dinheiro; nunca float |
| roles | ["builder","reviewer"] |
| category | domain |
Valor monetário nunca em float/double.
- Python:
Decimal (from decimal import Decimal, ROUND_HALF_EVEN).
- JS/TS:
BigInt em centavos OU Decimal.js / dinero.js.
- SQL:
numeric(precision, scale) (ex: numeric(15, 2) pra BRL).
- Arredondamento sempre explícito: bancário usa
ROUND_HALF_EVEN.
Testes obrigatórios:
Decimal("0.10") + Decimal("0.20") == Decimal("0.30") (com float seria 0.30000000000000004).
- Cenário de troco e arredondamento de juros.