Module: ChupakabraTools::NumberAsText
- Defined in:
- lib/chupakabra_tools/number_as_text.rb
Class Method Summary collapse
- .extract_number_order(number, order) ⇒ Object
- .format_hundreds(number) ⇒ Object
- .number_to_russian_string(money) ⇒ Object
Class Method Details
.extract_number_order(number, order) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/chupakabra_tools/number_as_text.rb', line 51 def self.extract_number_order(number, order) devider = 1 if order == "trillions" devider = 1000000000000 elsif order == "billions" devider = 1000000000 elsif order == "millions" devider = 1000000 elsif order == "thousands" devider = 1000 end ((number/devider).to_i * devider - (number/(devider * 1000)).to_i * devider * 1000)/devider end |
.format_hundreds(number) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/chupakabra_tools/number_as_text.rb', line 35 def self.format_hundreds(number) number_strings = Hash.new number_strings["1-9"] = ["", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять"] number_strings["10-19"] =["десять", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать"] number_strings["20-90"] = ["", "", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто"] number_strings["100-900"] = ["", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот"] money_string = "" money_hundreds = ((number/ 100).to_i * 100 - (number / 1000).to_i * 1000) / 100 if money_hundreds > 0 money_string += number_strings["100-900"] end end |
.number_to_russian_string(money) ⇒ 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 29 30 31 32 33 |
# File 'lib/chupakabra_tools/number_as_text.rb', line 5 def self.number_to_russian_string(money) number_strings = Hash.new number_strings[:thousands] = ["тысяч", "тысяча", "тысячи", "тысячи", "тысячи", "тысяч", "тысяч", "тысяч", "тысяч", "тысяч"] number_strings[:millions] = ["миллионов", "миллион", "миллиона", "миллиона", "миллиона", "миллионов", "миллионов", "миллионов", "миллионов", "миллионов"] number_strings[:billions] = ["миллиардов", "миллиард", "миллиарда", "миллиарда", "миллиарда", "миллиардов", "миллиардов", "миллиардов", "миллиардов", "миллиардов"] number_strings[:trillions] = ["триллионов", "триллион", "триллиона", "триллиона", "триллиона", "триллионов", "триллионов", "триллионов", "триллионов", "триллионов"] money_trilions = extract_number_order(number, "trillions") if money_trilions > 0 end money_billions = extract_number_order(number, "billions") if money_billions > 0 end money_millions = extract_number_order(number, "millions") if money_millions > 0 end money_thousands = extract_number_order(number, "thousands") if money_thousands > 0 end money_hundreds = extract_number_order(number, "") end |