Method: Flt::FormatBase#to

Defined in:
lib/float-formats/classes.rb

#to(number_class, mode = :approx) ⇒ Object



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/float-formats/classes.rb', line 143

def to(number_class, mode = :approx)
  if number_class == Bytes
    to_bytes
  elsif number_class == String
    mode = Numerals::Format[] if mode == :approx
    to_text(mode)
  elsif Numerals::Format === number_class
    to_text(number_class)
  elsif number_class == Array
    split
  elsif Symbol === number_class
    send "to_#{number_class}"
  elsif number_class.is_a?(Flt::Num)  && number_class.radix == form_class.radix
    self.to_num
  elsif number_class.is_a?(FormatBase)
    number_class.from_number(self, mode)
  else # assume number_class.ancestors.include?(Numeric) (number_class < Numeric)
    options = {
      type: number_class,
      exact_input: (mode != :approx),
      output_mode: :fixed
    }
    Numerals::Conversions.convert(self, options)
  end
end