53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/pulo/formatting.rb', line 53
def self.convert(number, precision)
precision ||= Pulo.precision
if Pulo.significant_figures && precision > 0
digits, rounded_number = digits_and_rounded_number(number, precision)
precision -= digits
precision = 0 if precision < 0
else
rounded_number = number.round(precision)
rounded_number = rounded_number.to_i if precision == 0
rounded_number = rounded_number.abs if rounded_number.zero?
end
formatted_string = "%00.#{precision}f" % rounded_number
delimited_number = NumberToDelimitedConverter.convert(formatted_string)
format_number(delimited_number)
end
|