AD

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

Ver cursos de Ruby en Udemy

Enlace de afiliado. No te cuesta nada extra.

💎Lecciones de Ruby
Lección 45 / 68

Redondear números (floor, ceil, round)

En esta lección controlarás cómo se convierte un decimal en entero.

floor redondea siempre hacia abajo, ceil siempre hacia arriba y round al más cercano. Los tres aceptan un argumento para indicar los decimales: 3.14159.round(2) da 3.14.

El código de ejemplo muestra los tres con números distintos.

El caso interesante es el empate. Ruby redondea el 0,5 alejándose del cero: 0.5.round es 1 y -0.5.round es -1. Otros lenguajes y hojas de cálculo usan el «redondeo bancario», que lleva los empates al par más próximo para no sesgar las sumas. Si estás portando una fórmula financiera desde Excel o desde Python, esta diferencia produce discrepancias de céntimos que luego cuesta explicar.

Y la regla que evita la mayoría de los problemas con dinero: no uses decimales para importes. Guarda los céntimos como entero, o usa BigDecimal, que hace las cuentas en base diez. La lección sobre errores de coma flotante explica por qué.

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

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