Obj-C: преобразовать INT в текст, отформатированный как "шестой" или "двадцать третий"

Я действительно не знаю, как назвать этот формат, может быть, "посчитанный текст" или что-то в этом роде. (Отсутствие хорошего названия также затрудняет поиск ответов, поэтому, если на этот вопрос уже был дан ответ, я прошу прощения за двойной пост.)

Я хочу преобразовать целое число "6" в строку "шестой" или "23" в "двадцать третий". Я нашел ответы на этот вопрос о преобразовании с NSNumberFormatterSpellOutStyle, но это дает мне "шесть" или "двадцать три". Я полагаю, что мог бы сделать это, а затем написать какую-нибудь сложную вещь, чтобы проверить последние несколько символов строки и добавить "th" или заменить "ree" на "ird", но мне интересно, есть ли более элегантное решение?

Кто-нибудь знает какие-либо встроенные методы для этого или какие-либо примеры кода, которые могут это сделать?

1 ответ

Решение

Я думаю, что вы можете думать о порядковых числах. Попробуйте эти библиотеки:

Также сослаться на этот пост SO: Objective-C: отформатировать номера в порядковые номера: 1, 2, 3, .. до 1-го, 2-го, 3-го

Другие вопросы по тегам