class NumberToText::NumberToTextConverter
Private Instance Methods
digits_to_text(digits, plural)
click to toggle source
# File lib/number_to_text/number_to_text_converter.rb, line 103 def digits_to_text(digits, plural) if plural case digits when 0 then '' when 3 then 'tausend' when 6 then ' Millionen ' when 9 then ' Milliarden ' when 12 then ' Billionen ' when 15 then ' Billiarden ' end else case digits when 0 then '' when 3 then 'tausend' when 6 then ' Million ' when 9 then ' Milliarde ' when 12 then ' Billion ' when 15 then ' Billiarde ' end end end
to_text_10(number)
click to toggle source
# File lib/number_to_text/number_to_text_converter.rb, line 32 def to_text_10(number) number = number.to_i / 10 case number when 1 then 'zehn' when 2 then 'zwanzig' when 3 then 'dreißig' when 4 then 'vierzig' when 5 then 'fünfzig' when 6 then 'sechzig' when 7 then 'siebzig' when 8 then 'achtzig' when 9 then 'neunzig' end end
to_text_100(number, digits)
click to toggle source
# File lib/number_to_text/number_to_text_converter.rb, line 47 def to_text_100(number, digits) number = number % 100 if number == 1 case digits when 0 return 'eins' when 1..3 return 'ein' when 6, 9, 12, 15 if number == 1 return 'eine' else return 'ein' end end end if number.between?(2, 19) case number when 2 then return 'zwei' when 3 then return 'drei' when 4 then return 'vier' when 5 then return 'fünf' when 6 then return 'sechs' when 7 then return 'sieben' when 8 then return 'acht' when 9 then return 'neun' when 10 then return 'zehn' when 11 then return 'elf' when 12 then return 'zwölf' when 13 then return 'dreizehn' when 14 then return 'vierzehn' when 15 then return 'fünfzehn' when 16 then return 'sechzehn' when 17 then return 'siebzehn' when 18 then return 'achtzehn' when 19 then return 'neunzehn' end elsif number.between?(20, 99) if number % 10 == 0 to_text_10(number).to_s else to_text_100(number % 10, 1).to_s + 'und' + to_text_10(number).to_s end end end
to_text_1000(number, digits)
click to toggle source
# File lib/number_to_text/number_to_text_converter.rb, line 95 def to_text_1000(number, digits) if number / 100 == 0 to_text_100(number, digits).to_s else to_text_100(number / 100, 2).to_s + 'hundert' + to_text_100(number, digits).to_s end end