Take a look at the numbers_in_words GitHub project. It seems to provide the functionality you are looking for, at least for english number strings.
From the project docs:
require 'numbers_in_words'
require 'numbers_in_words/duck_punch'
112.in_words
#=> one hundred and twelve
"Seventy million, five-hundred and fifty six thousand point eight nine three".in_numbers
#=> 70556000.893