Преобразовать порядковый номер в строку
Я получаю порядковые номера, используя код ниже:
public static String ordinal(int i) {
String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
switch (i % 100) {
case 11:
case 12:
case 13:
return i + "th";
default:
return i + sufixes[i % 10];
}
}
Выход: 1-й, 2-й, 3-й...
Как я могу получить строку, как первый, второй, третий из этих порядковых чисел в Java, Android.
1 ответ
Решение
Вы можете использовать этот класс, который я написал. Просто загрузите файл (включая заголовок лицензии) в свой проект, обновите декларацию пакета, и вы можете использовать его следующим образом.
Numerals ns = new Numerals();
System.out.println(ns.toWords(12048));
System.out.println(ns.toWords(12048, true));
System.out.println(ns.toWords(102500, false));
System.out.println(ns.toWords(102500, true));
какие выводы
двенадцать тысяч сорок восемь
двенадцать тысяч сорок восьмой
сто две тысячи пятьсот
сто две тысячи пятьсот
Второй аргумент toWords
если указан, определяет, выводить ли порядковые номера (true) или обычные цифры (false). Вы можете взглянуть на это, чтобы увидеть, как это работает.