Я получил ответ сам.
def amount_to_words(number)
unless (number % 1).zero?
number = number.abs if number < 0
div = number.div(1)
mod = (number.modulo(1) * 100).round
[div.to_s.en.numwords, "point", mod.to_s.en.numwords].join(" ")
else
number.en.numwords
end
end
И результат:
>> amount_to_words(-91.83)
=> "ninety-one point eighty-three"
>> amount_to_words(-91.8)
=> "ninety-one point eighty"
>> amount_to_words(91.8)
=> "ninety-one point eighty"
>> amount_to_words(91.83)
=> "ninety-one point eighty-three"
Хотя, спасибо, ребята. Ваша идея с to_s была полезна для меня.