Class: Humanize::Th
- Inherits:
-
Object
- Object
- Humanize::Th
- Defined in:
- lib/humanize/locales/th.rb,
lib/humanize/locales/constants/th.rb
Constant Summary collapse
- POINT =
"จุด".freeze
- INFINITY =
'เป็นอนันต์'.freeze
- UNDEFINED =
'ไม่ได้กำหนด'.freeze
- NEGATIVE =
'ติดลบ'.freeze
- MILLION =
'ล้าน'.freeze
- LOTS =
[nil, 'ร้อย', 'พัน', 'หมื่น', 'แสน', MILLION].freeze
- SUB_ONE_GROUPING =
['ศูนย์', 'หนึ่ง', 'สอง', 'สาม', 'สี่', 'ห้า', 'หก', 'เจ็ด', 'แปด', 'เก้า', 'สิบ', 'สิบเอ็ด', 'สิบสอง', 'สิบสาม', 'สิบสี่', 'สิบห้า', 'สิบหก', 'สิบเจ็ด', 'สิบแปด', 'สิบเก้า', 'ยี่สิบ', 'ยี่สิบเอ็ด', 'ยี่สิบสอง', 'ยี่สิบสาม', 'ยี่สิบสี่', 'ยี่สิบห้า', 'ยี่สิบหก', 'ยี่สิบเจ็ด', 'ยี่สิบแปด', 'ยี่สิบเก้า', 'สามสิบ', 'สามสิบเอ็ด', 'สามสิบสอง', 'สามสิบสาม', 'สามสิบสี่', 'สามสิบห้า', 'สามสิบหก', 'สามสิบเจ็ด', 'สามสิบแปด', 'สามสิบเก้า', 'สี่สิบ', 'สี่สิบเอ็ด', 'สี่สิบสอง', 'สี่สิบสาม', 'สี่สิบสี่', 'สี่สิบห้า', 'สี่สิบหก', 'สี่สิบเจ็ด', 'สี่สิบแปด', 'สี่สิบเก้า', 'ห้าสิบ', 'ห้าสิบเอ็ด', 'ห้าสิบสอง', 'ห้าสิบสาม', 'ห้าสิบสี่', 'ห้าสิบห้า', 'ห้าสิบหก', 'ห้าสิบเจ็ด', 'ห้าสิบแปด', 'ห้าสิบเก้า', 'หกสิบ', 'หกสิบเอ็ด', 'หกสิบสอง', 'หกสิบสาม', 'หกสิบสี่', 'หกสิบห้า', 'หกสิบหก', 'หกสิบเจ็ด', 'หกสิบแปด', 'หกสิบเก้า', 'เจ็ดสิบ', 'เจ็ดสิบเอ็ด', 'เจ็ดสิบสอง', 'เจ็ดสิบสาม', 'เจ็ดสิบสี่', 'เจ็ดสิบห้า', 'เจ็ดสิบหก', 'เจ็ดสิบเจ็ด', 'เจ็ดสิบแปด', 'เจ็ดสิบเก้า', 'แปดสิบ', 'แปดสิบเอ็ด', 'แปดสิบสอง', 'แปดสิบสาม', 'แปดสิบสี่', 'แปดสิบห้า', 'แปดสิบหก', 'แปดสิบเจ็ด', 'สิบแปดคน', 'แปดสิบเก้า', 'เก้าสิบ', 'เก้าสิบเอ็ด', 'เก้าสิบสอง', 'เก้าสิบสาม', 'เก้าสิบสี่', 'เก้าสิบห้า', 'เก้าสิบหก', 'เก้าสิบเจ็ด', 'เก้าสิบแปด', 'เก้าสิบเก้า'].freeze
Instance Method Summary collapse
Instance Method Details
#humanize(number, million_level = 1) ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/humanize/locales/th.rb', line 5 def humanize(number, million_level = 1) if number >= 10_000_000 number, remainder = number.divmod(1_000_000) million_parts = humanize(number, million_level + 1) sub_million_parts = million_humanize(remainder) sub_million_parts << " " << MILLION * million_level << million_parts.reverse else million_humanize(number) end end |
#million_humanize(number) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/humanize/locales/th.rb', line 16 def million_humanize(number) number_groups = [100, 10] number_grouping = number_groups.shift iteration = 0 parts = [] until number.zero? number, remainder = number.divmod(number_grouping) unless remainder.zero? add_grouping(parts, iteration) unless iteration.zero? && remainder < (number_grouping / 10) parts << SUB_ONE_GROUPING[remainder] end number_grouping = number_groups.shift unless number_groups.empty? iteration += 1 end parts end |