2.4. Reprezentowanie liczb wymiernych

Problem

Chcemy używać bezwzględnie dokładnych reprezentacji liczb wymiernych (takich jak ), nawet jeżeli ich dziesiętna reprezentacja jest nieskończona.

Rozwiązanie

Liczbą wymierną (rational number) nazywamy liczbę, którą można przedstawić w postaci ilorazu (ułamka) dwóch liczb całkowitych. W języku Ruby liczby wymierne reprezentowane są w postaci klasy Rational.

float = 2.0/3.0 # => 0.666666666666667 float * 100 # => 66.6666666666667 float * 100 / 42 # => 1.58730158730159 require 'rational' rational = Rational(2, 3) # => Rational(2, 3) rational.to_f # => 0.666666666666667 rational * 100 # => Rational(200, ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.