Module: Kabal::DeutschRules::FractionalNumbers
- Included in:
- Kabal::Deutsch
- Defined in:
- lib/kabal/languages/deutsch/fractional_numbers.rb
Instance Method Summary collapse
- #fractional_number_name(number) ⇒ Object
- #fractional_part_name(number) ⇒ Object
- #fractional_part_order(number) ⇒ Object
- #fractional_part_string(number) ⇒ Object
- #whole_part_name(number) ⇒ Object
Instance Method Details
#fractional_number_name(number) ⇒ Object
4 5 6 |
# File 'lib/kabal/languages/deutsch/fractional_numbers.rb', line 4 def fractional_number_name(number) whole_part_name(number) + " " + dot + " " + fractional_part_name(number) end |
#fractional_part_name(number) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/kabal/languages/deutsch/fractional_numbers.rb', line 13 def fractional_part_name(number) name = "" count_string = fractional_part_string(number).split('.')[1] count = count_string.to_i if count_string.size != count.to_s.size (count_string.size - count.to_s.size).times do name += names["single"][0] + " " end name + natural_number_name(count) else natural_number_name(count) end end |
#fractional_part_order(number) ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'lib/kabal/languages/deutsch/fractional_numbers.rb', line 31 def fractional_part_order(number) #FIXME find better way with whole 0 numbers number_string = number.to_s if number_string.include? "-" number_string.split('-')[1].to_i else number_string.split('.')[1].length end end |
#fractional_part_string(number) ⇒ Object
27 28 29 |
# File 'lib/kabal/languages/deutsch/fractional_numbers.rb', line 27 def fractional_part_string(number) "%.#{fractional_part_order(number)}f" % number end |
#whole_part_name(number) ⇒ Object
8 9 10 11 |
# File 'lib/kabal/languages/deutsch/fractional_numbers.rb', line 8 def whole_part_name(number) count = number.floor natural_number_name(count) end |