julik / ru_propisju

Сумма прописью на Ruby
MIT License
72 stars 37 forks source link

Ошибка при переводе числа 1102.41 в штуки #10

Closed vsevolod closed 10 years ago

vsevolod commented 10 years ago

Сама ошибка:

2.0.0-p247 :001 > RuPropisju.propisju( 1102.41, ["кубометр", "кубометра", "кубометров"])
NoMethodError: undefined method `[]' for nil:NilClass
        from ...../lib/ru_propisju.rb:374

Проблема возникает в этой строке:

("%0.13f" % 1102.41).gsub(/0+$/, '') #=> "1102.4100000000001"

Предлагаю решение следующим образом: вместо типа f использовать g

("%0.13g" % 1102.41).gsub(/0+$/, '') #=> "1102.41"

http://apidock.com/ruby/Kernel/sprintf

julik commented 10 years ago

Спасибо!