Как получить словесный эквивалент числа с плавающей запятой? Например.
- 10.24 → десять целых двадцать четыре
- 5.113 → пять целых сто тринадцать
Как получить словесный эквивалент числа с плавающей запятой? Например.
Для этого есть жемчужина под названием numbers_and_words! Я использовал его в нескольких проектах без каких-либо проблем до сих пор.
Используйте гем лингвистика:
require 'linguistics'
Linguistics.use( :en )
p 10.24.en.numwords #=> "ten point two four"
p 5.113.en.numwords #=> "five point one one three"
или попробуйте использовать этот хак, как описано в этом ответе, чтобы получить большую точность:
require "linguistics"
Linguistics::use(:en)
class Float
def my_numwords
self.to_s.split('.').collect { |n| n.en.numwords }.join(' point ')
end
end
p 10.24.my_numwords #=> "ten point two four"
p 5.113.my_numwords #=> ""five point one hundred and thirteen"