class Rational
Public Instance Methods
to_rec_decimal()
click to toggle source
分数を循環小数に直す
@return [String]
# File lib/kaki/utils/rec_decimal.rb, line 4 def to_rec_decimal f, num = (self < 0) ? ["-", -self] : ["", self] i = num.to_i result = f + i.to_s ra = num - i return result if ra.zero? result += "." remainder = ra.numerator deno = ra.denominator place = [] rems = [] begin rems << remainder place << remainder * 10 / deno remainder = remainder * 10 % deno return result + place.join if remainder.zero? end while not (idx = rems.find_index(remainder)) place.insert(idx, "(") result + place.join + ")" end