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 options = {
type: number_class,
exact_input: (mode != :approx),
output_mode: :fixed
}
Numerals::Conversions.convert(self, options)
end
end
|