Преобразование чисел в ранг

Мне нужно преобразовать число в его ранг.

1 -> «Первый»

2 -> «Второй»

3 -> «Третий»

  • % упрощенный (это дает «один», «два», «три» и т. д.)
  • %default (это дает «один», «два», «три» и т. д.)
  • %main (это дает 1-й, 2-й, 3-й и т.д.)

Код в первой ссылке выдает исключение (для набора правил "%simplified-ordinal"), что это неизвестный "набор правил"

Вопрос уже задан на SO (ссылка ниже) и попробовал одно из его решений, но не сработало.

Ссылки, о которых я уже упоминал:

Я считаю, что есть некий «набор правил», который мне нужно пройти, чтобы получить то, что я ищу, но я не могу его найти.


person rumit patel    schedule 28.12.2016    source источник
comment
Как насчет использования перечислений? он может решить First=1 Second=2, если вы правильно определите его.   -  person Rotem    schedule 29.12.2016
comment
Решение JFK по первой ссылке не сработало для вас? ```RuleBasedNumberFormat nf = новый RuleBasedNumberFormat(Locale.UK, RuleBasedNumberFormat.SPELLOUT); for(int i = 0; i ‹= 30; i++) { System.out.println(i + -> +nf.format(i, %spellout-ordinal)); } ```   -  person Jochen Bedersdorfer    schedule 29.12.2016