Jak przekonwertować liczbę na słowa w java

Obecnie mamy prymitywny mechanizm konwertowania liczb na słowa (np. Przy użyciu kilku statycznych tablic) i oparty na rozmiarze liczby, tłumacząc ją na tekst w języku angielskim. Ale mamy problemy z liczbami, które są ogromne. 10183 = Ten thousand one hundred eighty three 90 = Ninety 5888 =...