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 66 / 68

Convertir temperaturas

En esta lección pasarás de grados Celsius a Fahrenheit y al revés.

Las fórmulas son F = C × 9/5 + 32 y C = (F − 32) × 5/9. En el código aparecen escritas como 9.0 / 5, con el decimal a propósito.

El código de ejemplo convierte en las dos direcciones.

Ese .0 es la parte importante: en Ruby, dividir dos enteros da un entero y descarta la parte decimal. 9 / 5 es 1, no 1,8, y con eso la fórmula da un resultado equivocado sin lanzar ningún error. Basta con que uno de los dos operandos sea decimal para que la división sea decimal.

Es la misma trampa que en C, Java y Go, y la que hace que Python 3 se separara del resto usando / para la división decimal y // para la entera. Si vienes de Python, es de las primeras cosas que hay que reajustar.

Como comprobación mental: −40 grados es el mismo valor en las dos escalas. Si tu conversión no lo cumple, la fórmula está mal.

📖 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)