El dinero no se guarda con decimales
Los números de coma flotante (float/double) no representan los decimales
con exactitud. El ejemplo clásico:
0.1 + 0.2; // 0.30000000000000004 ❌
En una tienda, ese error se acumula factura tras factura y acaba descuadrando la contabilidad. La regla profesional es guardar el dinero como un entero en su unidad más pequeña: los céntimos.
- 25,00 € se guarda como
2500. - 149,99 € se guarda como
14999.
Los enteros se suman y multiplican sin error. Solo al mostrar el precio se divide entre 100 para pintar los euros:
(14999 / 100).toFixed(2); // "149.99"
Control de stock
El stock es la cantidad disponible. Antes de aceptar una compra hay que
comprobar que hay existencias suficientes; si no, se rechaza el pedido. Si hay,
se descuenta la cantidad comprada del stock. Olvidar esta comprobación es
vender lo que no tienes.
En los siguientes ejercicios construirás: la consulta del total de cada pedido (SQL), la lógica del carrito (JS), el handler de compra que valida el stock (JS) y el componente Carrito (React).