AD

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

Ver cursos de PHP en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐘Lecciones de PHP
Lección 57 / 68

Cuidado con los errores de redondeo en 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 muchos valores exactos en decimal no lo son en binario. El resultado se acerca muchísimo, pero no coincide.

El código de ejemplo suma valores decimales y muestra el resultado con detalle.

Lo que hace este caso especialmente engañoso en PHP es que echo redondea al mostrar: imprime 0.3 aunque el valor guardado no lo sea. El problema solo aparece al comparar, y por eso desconcierta tanto — lo que ves en pantalla dice una cosa y la comparación otra.

La consecuencia práctica: no compares decimales con ==. Comprueba si la diferencia es menor que una tolerancia. Y para dinero, trabaja en céntimos con enteros o usa BCMath, que calcula de forma exacta.

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

🧪 Este sitio no puede compilar ni ejecutar PHP 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)