Class: Humanize::Th

Inherits:
Object
  • Object
show all
Defined in:
lib/humanize/locales/th.rb,
lib/humanize/locales/constants/th.rb

Constant Summary collapse

POINT =
"จุด".freeze
INFINITY =
'ความไม่มีที่สิ้นสุด'.freeze
UNDEFINED =
'ไม่ได้กำหนด'.freeze
NEGATIVE =
'เชิงลบ'.freeze
LOTS =
[nil, 'ร้อย', 'พัน', 'หมื่น', 'แสน', 'ล้าน'].freeze
SUB_ONE_GROUPING =
['ศูนย์', 'หนึ่ง', 'สอง', 'สาม', 'สี่', 'ห้า', 'หก', 'เจ็ด', 'แปด', 'เก้า', 'สิบ', 'สิบเอ็ด', 'สิบสอง', 'สิบสาม', 'สิบสี่', 'สิบห้า', 'สิบหก', 'สิบเจ็ด', 'สิบแปด', 'สิบเก้า', 'ยี่สิบ', 'ยี่สิบเอ็ด', 'ยี่สิบสอง', 'ยี่สิบสาม', 'ยี่สิบสี่', 'ยี่สิบห้า', 'ยี่สิบหก', 'ยี่สิบเจ็ด', 'ยี่สิบแปด', 'ยี่สิบเก้า', 'สามสิบ', 'สามสิบเอ็ด', 'สามสิบสอง', 'สามสิบสาม', 'สามสิบสี่', 'สามสิบห้า', 'สามสิบหก', 'สามสิบเจ็ด', 'สามสิบแปด', 'สามสิบเก้า', 'สี่สิบ', 'สี่สิบเอ็ด', 'สี่สิบสอง', 'สี่สิบสาม', 'สี่สิบสี่', 'สี่สิบห้า', 'สี่สิบหก', 'สี่สิบเจ็ด', 'สี่สิบแปด', 'สี่สิบเก้า', 'ห้าสิบ', 'ห้าสิบเอ็ด', 'ห้าสิบสอง', 'ห้าสิบสาม', 'ห้าสิบสี่', 'ห้าสิบห้า', 'ห้าสิบหก', 'ห้าสิบเจ็ด', 'ห้าสิบแปด', 'ห้าสิบเก้า', 'หกสิบ', 'หกสิบเอ็ด', 'หกสิบสอง', 'หกสิบสาม', 'หกสิบสี่', 'หกสิบห้า', 'หกสิบหก', 'หกสิบเจ็ด', 'หกสิบแปด', 'หกสิบเก้า', 'เจ็ดสิบ', 'เจ็ดสิบเอ็ด', 'เจ็ดสิบสอง', 'เจ็ดสิบสาม', 'เจ็ดสิบสี่', 'เจ็ดสิบห้า', 'เจ็ดสิบหก', 'เจ็ดสิบเจ็ด', 'เจ็ดสิบแปด', 'เจ็ดสิบเก้า', 'แปดสิบ', 'แปดสิบเอ็ด', 'แปดสิบสอง', 'แปดสิบสาม', 'แปดสิบสี่', 'แปดสิบห้า', 'แปดสิบหก', 'แปดสิบเจ็ด', 'สิบแปดคน', 'แปดสิบเก้า', 'เก้าสิบ', 'เก้าสิบเอ็ด', 'เก้าสิบสอง', 'เก้าสิบสาม', 'เก้าสิบสี่', 'เก้าสิบห้า', 'เก้าสิบหก', 'เก้าสิบเจ็ด', 'เก้าสิบแปด', 'เก้าสิบเก้า'].freeze

Instance Method Summary collapse

Instance Method Details

#humanize(number) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/humanize/locales/th.rb', line 5

def humanize(number)
  number_groups = [100, 10]
  number_grouping = number_groups.shift
  iteration = 0
  parts = []
  use_and = false
  until number.zero?
    number, remainder = number.divmod(number_grouping)
    unless remainder.zero?
      if iteration.zero? && remainder < (number_grouping / 10)
        use_and = true
      else
        add_grouping(parts, use_and, iteration)
      end

      parts << SUB_ONE_GROUPING[remainder]
    end

    number_grouping = number_groups.shift unless number_groups.empty?
    iteration += 1
  end

  parts
end