class NumFormat

f = NumberFormat.new f.format(13_876) => “13K” f.format(12_485_485) => “12M” f.format(234) => “234”

Public Instance Methods

format(number) click to toggle source
# File lib/numformat.rb, line 7
def format(number)
  return number.to_s if number < 1000
  return thousands_to_human(number) if number < 1_000_000
  millions_to_human(number)
end

Private Instance Methods

millions_to_human(number) click to toggle source
# File lib/numformat.rb, line 20
def millions_to_human(number)
  n = number % 1000000 == 0 ? (number / 1_000_000) : (number / 1_000_000.0).round(1)
  "#{n}M"
end
thousands_to_human(number) click to toggle source
# File lib/numformat.rb, line 15
def thousands_to_human(number)
  n = number % 1000 == 0 ? (number / 1_000) : (number / 1_000.0).round(1)
  "#{n}K"
end