Los números en JavaScript son de punto flotante. Esto significa que no siempre son precisos.
El Bug 0.3
0.1 + 0.2 === 0.30000000000000004
Nunca compares flotantes directamente. Usa Math.abs(a - b) < epsilon.
Manejando Dinero
Para dinero, usa la API Intl.NumberFormat. Maneja comas, decimales y símbolos de moneda automáticamente.
javascript
const precio = 12345.678;
const formateador = new Intl.NumberFormat('es-ES', {
style: 'currency',
currency: 'EUR',
});
console.log(formateador.format(precio)); // "12.345,68 €"