Sha256: 6926a493cacfad7a021a3b511851c51eab98014ab60ca5d5c427499dabf72b5b
Contents?: true
Size: 968 Bytes
Versions: 3
Compression:
Stored size: 968 Bytes
Contents
module Humanize # Accommodate for large numbers # Big numbers are big: http://wiki.answers.com/Q/What_number_is_after_vigintillion&src=ansTT require File.join(File.dirname(__FILE__), 'lots') require File.join(File.dirname(__FILE__), 'cache') def humanize num = self.to_i o = '' if num < 0 o += 'negative ' num = num.abs end if num.zero? o += 'zero' else sets = [] i = 0 f = false while !num.zero? num, r = num.divmod(1000) sets << LOTS[i] + (!sets.empty? ? (f ? ' and' : ',') : '') if !(r.zero? || i.zero?) f = true if i.zero? && r < 100 sets << SUB_ONE_THOUSAND[r] if !r.zero? i = i.succ end o += sets.reverse.join(' ') end o += ' point ' + self.to_s.split(/\./, 2).last.scan(/./).map { |n| SUB_ONE_THOUSAND[n.to_i] }.join(' ') if self.class == Float o end end class Numeric include Humanize end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
humanize-1.1.2 | lib/humanize.rb |
humanize-1.1.1 | lib/humanize.rb |
humanize-1.1.0 | lib/humanize.rb |