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 O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.