Нет стандартной библиотеки, которую я знаю об этом, и, насколько я знаю, вы не можете сделать масштабируемое решение для этого.
Один из подходов, который я бы рекомендовал, заключается в создании массивов, которые по существу сопоставляют числа с их аналогами. Например, метод
String[] numerators = {"One", "Two", "Three", ... // etc., until you reach your desired limit
String[] denominators = {"whole", "hal", "third", ...
Ваш getSpokenWords (числитель, знаменатель) может затем объединять эти строки и добавить множественные концовки, если это необходимо. («Половина» указана как «hal» из-за ее неправильной формы множественного числа, так что вы можете объединить «ves» или «f» по мере необходимости).
Редактировать: Если вы хотите быть умным, вы можете даже использовать циклы, деление и по модулю, чтобы разделить более высокие числа на свои значения. 525600, например, можно разделить на 525 и 600, где вы можете получить текстовый эквивалент 525 (пятьсот двадцать пять) и добавить к нему «тысячу». Конечно, получение строки «пятьсот двадцать пять» также требует разделения в себе.
y u no make ur собственный метод getSpokenWords? –