class ActiveSupport::NumberHelper::NumberToRoundedConverter

def digits_and_rounded_number(precision)

def digits_and_rounded_number(precision)
  if zero?
    [1, 0]
  else
    digits = digit_count(number)
    multiplier = 10 ** (digits - precision)
    rounded_number = calculate_rounded_number(multiplier)
    digits = digit_count(rounded_number) # After rounding, the number of digits may have changed
    [digits, rounded_number]
  end
end