Ruby Academy · Lección

Rational y BigDecimal

Aritmética exacta

Lección 4 de 413 pasos

Rational y BigDecimal es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.

¿Por qué usar aritmética exacta?

Los floats pierden precisión. Para el dinero y las fracciones, Ruby ofrece Rational y BigDecimal, que conservan la exactitud.

puts 0.1 + 0.2

Crear un Rational

Un Rational es una fracción exacta. Escríbalo con el sufijo r o con Rational(num, den).

puts (1r / 3)
puts Rational(2, 4)

Los Rational se simplifican automáticamente

Los Rational se reducen automáticamente a sus términos mínimos, por lo que 2/4 se convierte en 1/2.

puts Rational(6, 8)
puts Rational(10, 5)

Aritmética exacta con fracciones

La suma de Rational conserva la exactitud, a diferencia de los floats. Un tercio más un tercio más un tercio es exactamente uno.

third = Rational(1, 3)
puts (third + third + third)

Numerador y denominador

Consulte las partes con numerator y denominator.

r = Rational(3, 4)
puts r.numerator
puts r.denominator

Convertir Rational

to_f convierte un Rational en un float cuando necesita una aproximación decimal.

puts Rational(1, 8).to_f

Cargar BigDecimal

BigDecimal permite trabajar con decimales exactos, por lo que es ideal para el dinero. Primero, cárguelo desde la biblioteca estándar.

require "bigdecimal"
a = BigDecimal("0.1")
b = BigDecimal("0.2")
puts (a + b).to_s("F")

Utilice siempre cadenas

Cree valores BigDecimal a partir de cadenas, no de números de coma flotante, para que no se pierda precisión desde el principio.

require "bigdecimal"
good = BigDecimal("1.1")
puts good.to_s("F")

Cálculos monetarios

BigDecimal conserva los céntimos con exactitud en muchas operaciones.

require "bigdecimal"
price = BigDecimal("19.99")
qty = 3
total = price * qty
puts total.to_s("F")

Redondear BigDecimal

round en un BigDecimal controla las posiciones decimales con precisión.

require "bigdecimal"
n = BigDecimal("2.675")
puts n.round(2).to_s("F")

Elegir la herramienta adecuada

Utilice Rational para fracciones y proporciones exactas. Utilice BigDecimal para cálculos monetarios con decimales exactos. Utilice Float para cálculos científicos rápidos en los que se tolere un pequeño error.

require "bigdecimal"
puts Rational(1, 3)
puts BigDecimal("0.33").to_s("F")

Comprobación rápida

Compruebe la aritmética exacta.

Repaso

Ha aprendido aritmética exacta:

  • Rational para fracciones exactas que se simplifican automáticamente
  • numerator, denominator, to_f
  • BigDecimal a partir de cadenas para realizar cálculos monetarios exactos
  • elegir el tipo adecuado para cada tarea

Con esto termina el curso Ruby Numbers and Math.

puts (Rational(1, 2) + Rational(1, 3))
Gratis para empezar

Aprende Ruby con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
29
Lecciones
109

Preguntas frecuentes

¿La lección «Rational y BigDecimal» es gratis?

Sí — el texto completo de «Rational y BigDecimal» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Rational y BigDecimal»?

Aritmética exacta Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ruby Academy?

No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Rational y BigDecimal»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?

Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Enteros y números de coma flotante
  2. Aritmética y operadores
  3. El módulo Math
  4. Rational y BigDecimal
← Volver a Ruby Academy