Class: Sankhya::Numbers

Inherits:
Object
  • Object
show all
Extended by:
Words
Defined in:
lib/sankhya/numbers.rb

Class Method Summary collapse

Methods included from Words

to_english

Class Method Details

.amount(number, options) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sankhya/numbers.rb', line 19

def self.amount(number, options)
  parse options

  numbers = format "%.#{@scale}f", number
  integers, decimals = numbers.split('.')

  result = []
  result << integers.reverse[3..-1].to_s.gsub(/(\d{2})(?=\d)/, '\\1,').reverse
  result << integers.reverse[0..2].reverse

  result.select { |x| !x.empty? }.join(',') + '.' + decimals
end

.translate(number, options) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/sankhya/numbers.rb', line 7

def self.translate(number, options)
  parse options

  if number.integer?
    words_of(number)
  else # if float
    integer = number.floor
    decimal = (number * (10**@scale)).floor - (integer * (10**@scale))
    [words_of(integer), words_of(decimal)]
  end
end