Class: NumericalNotation

Inherits:
Object
  • Object
show all
Defined in:
lib/numerical_notation/numerical_notation.rb

Class Method Summary collapse

Class Method Details

.to_short_notation(num) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/numerical_notation/numerical_notation.rb', line 2

def self.to_short_notation(num)
    case num.abs
    when 0..999
        num.to_s
    when 1000..999_999
        number = (num / 1000.0).round(1)
        decimal_value = number - number.to_i
        "#{decimal_value.zero? ? number.to_i : number}k"
    when 1_000_000..999_999_999
        number = (num / 1_000_000.0).round(1)
        decimal_value = number - number.to_i
        "#{decimal_value.zero? ? number.to_i : number}M"
    when 1_000_000_000..999_999_999_999
        number = (num / 1_000_000_000.0).round(1)
        decimal_value = number - number.to_i
        "#{decimal_value.zero? ? number.to_i : number}B"
    else
        raise ArgumentError, "Number out of range"
    end
end