Sha256: e1c41066396a882133a2e7ed2c2747e3883151fc5ba5e92098d56eaad9673c0d
Contents?: true
Size: 471 Bytes
Versions: 5
Compression:
Stored size: 471 Bytes
Contents
module Stellar # reopen class class Price MAX_PRECISION = (2**31) - 1 def self.from_f(number) best_r = Util::ContinuedFraction.best_r(number, MAX_PRECISION) new({ n: best_r.numerator, d: best_r.denominator }) end def invert self.class.new(n: d, d: n) end def to_f n / d.to_f end def to_s "#{n} / #{d}" end def inspect "#<Stellar::Price #{self}>" end end end
Version data entries
5 entries across 5 versions & 1 rubygems