AD

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

Ver cursos de Julia en Udemy

Enlace de afiliado. No te cuesta nada extra.

🟣Lecciones de Julia
Lección 57 / 68

Cuidado con los errores de la coma flotante

En esta lección verás por qué 0.1 + 0.2 no da exactamente 0.3.

Los decimales se guardan en binario, y en binario 0,1 no tiene representación exacta, igual que 1/3 no la tiene en base diez.

El código de ejemplo muestra la suma y luego la compara con 0,3, que da false.

Julia imprime 0.30000000000000004 sin redondear, mostrando el problema tal cual. Es coherente con un lenguaje de cálculo numérico: esconder el error sería peor.

La regla es no comparar decimales con ==. Julia ofrece para esto el operador , que se teclea con \approx y tabulador y lleva una tolerancia razonable incorporada. Tener eso como operador del lenguaje, y no como una función que hay que recordar, dice bastante sobre a quién está dirigido.

Para cálculos que necesitan exactitud, Julia ofrece además los racionales: 1//10 + 2//10 da exactamente 3//10, sin ningún error, porque guarda numerador y denominador. Es una salida que la mayoría de los lenguajes no tienen.

Y con dinero, la recomendación de siempre: enteros en céntimos o decimales de precisión arbitraria.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Julia directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

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