AD

¿Ya dominas lo básico? Un curso estructurado de JavaScript es la vía rápida para dar el salto.

Ver cursos de JavaScript en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟨Lecciones de JavaScript
Lección 58 / 69

Cuidado con el error de redondeo en coma flotante

En esta lección conocerás el error que aparece cuando un ordenador maneja decimales, para entender los puntos de atención en cosas como los cálculos de dinero. Está dirigida a quien busca «error de 0.1 + 0.2 en JavaScript».

Como un ordenador representa los decimales en binario, incluso un cálculo tan simple como 0.1 + 0.2 no sale exactamente 0.3. Al mostrarlo se ve el error directamente, y al compararlo devuelve false. Esto no es exclusivo de JavaScript: nace de cómo funcionan los ordenadores por dentro y es común a muchos lenguajes.

El código de ejemplo muestra que 0.1 + 0.2 imprime un valor con error incluido, 0.30000000000000004, y que la comparación 0.1 + 0.2 === 0.3 resulta false. Es una de las primeras sorpresas de quien empieza a programar, y una experiencia que derriba la suposición de que «los cálculos del ordenador siempre son exactos».

Cuando el error decimal es un problema para los cálculos de dinero, hace falta alguna forma de evitarlo, como calcular con céntimos enteros en lugar de decimales. En vez de comparar decimales directamente, un enfoque habitual es permitir una pequeña tolerancia: tratar dos valores como iguales si su diferencia es minúscula.

En situaciones que exigen una precisión estricta, como los cálculos de dinero, tener en cuenta esta característica es esencial. En sistemas contables y en el cálculo de precios de una tienda online, este tipo de error puede crear descuadres inesperados, así que en proyectos reales se suele usar una biblioteca dedicada o cálculos con enteros.

JavaScript
SALIDA

💡 Todo lo que pases a console.log() aparece en la salida de abajo.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)