0Pricing
Ruby Academy · Aula

Rational e BigDecimal

Aritmética exata.

Rational e BigDecimal é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.

Por que usar aritmética exata?

Os números de ponto flutuante perdem precisão. Para dinheiro e frações, Ruby oferece Rational e BigDecimal, que permanecem exatos.

puts 0.1 + 0.2

Criando um Rational

Um Rational é uma fração exata. Escreva-o com o sufixo r ou com Rational(num, den).

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

Rationals são simplificados automaticamente

Rationals são reduzidos automaticamente aos termos irredutíveis, portanto 2/4 se torna 1/2.

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

Aritmética exata de frações

Somar Rationals mantém a exatidão, ao contrário dos números de ponto flutuante. Um terço mais um terço mais um terço é exatamente um.

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

Numerador e denominador

Leia as partes com numerator e denominator.

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

Convertendo Rationals

to_f transforma um Rational em um número de ponto flutuante quando você precisa de uma aproximação decimal.

puts Rational(1, 8).to_f

Carregando BigDecimal

BigDecimal lida com números decimais exatos, ideais para dinheiro. Primeiro, carregue-o da biblioteca padrão.

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

Use sempre cadeias de caracteres

Crie BigDecimals a partir de cadeias de caracteres, não de números de ponto flutuante, para que nenhuma precisão seja perdida antes mesmo de começar.

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

Cálculo monetário

BigDecimal mantém os centavos exatos em muitas operações.

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

Arredondando BigDecimal

round em um BigDecimal controla com precisão o número de casas decimais.

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

Escolhendo a ferramenta certa

Use racionais para frações e proporções exatas. Use BigDecimal para valores monetários decimais exatos. Use ponto flutuante para trabalhos científicos rápidos, nos quais um pequeno erro é aceitável.

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

Verificação rápida

Verifique a aritmética exata.

Recapitulação

Você aprendeu aritmética exata:

  • racionais para frações exatas que se simplificam automaticamente
  • numerator, denominator, to_f
  • BigDecimal a partir de cadeias de caracteres para cálculos monetários exatos
  • escolher o tipo certo para cada tarefa

Isso conclui o curso de Números e Matemática do Ruby.

puts (Rational(1, 2) + Rational(1, 3))

Perguntas Frequentes

A aula “Rational e BigDecimal” é grátis?

Sim — o texto completo de “Rational e BigDecimal” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.

O que vou aprender em “Rational e BigDecimal”?

Aritmética exata. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ruby Academy?

Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Rational e BigDecimal”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ruby Academy?

Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Inteiros e números de ponto flutuante
  2. Aritmética e operadores
  3. O módulo Math
  4. Rational e BigDecimal
← Voltar para Ruby Academy