Я не знаю стандартной библиотеки, которая делала бы это, и, насколько я знаю, вы не можете создать масштабируемое решение для этого.
Один из подходов, который я бы порекомендовал, состоит в том, чтобы создавать массивы, которые по существу отображают числа в их словесные эквиваленты. Например,
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 (пятьсот двадцать пять) и добавить к нему «тысяча». Конечно, получение строки «пятьсот двадцать пять» также само по себе требует разделения.
person
Aaron Ong
schedule
03.07.2015
getSpokenWords
? - person rakeb.mazharul   schedule 03.07.2015