O dinheiro não se guarda com decimais
Os números de ponto flutuante (float/double) não representam os decimais
com exatidão. O exemplo clássico:
0.1 + 0.2; // 0.30000000000000004 ❌
Em uma loja, esse erro se acumula nota após nota e acaba desequilibrando a contabilidade. A regra profissional é guardar o dinheiro como um inteiro na sua menor unidade: os centavos.
- R$ 25,00 se guarda como
2500. - R$ 149,99 se guarda como
14999.
Os inteiros se somam e multiplicam sem erro. Só ao exibir o preço se divide por 100 para mostrar os reais:
(14999 / 100).toFixed(2); // "149.99"
Controle de estoque
O estoque é a quantidade disponível. Antes de aceitar uma compra é preciso
verificar que há estoque suficiente; se não, o pedido é rejeitado. Se há,
se desconta a quantidade comprada do estoque. Esquecer essa verificação é
vender o que você não tem.
Nos próximos exercícios você construirá: a consulta do total de cada pedido (SQL), a lógica do carrinho (JS), o handler de compra que valida o estoque (JS) e o componente Carrinho (React).