Я хотел использовать ординалы для моего проекта, и после нескольких прототипов я думаю, что этот метод, хотя и не маленький, будет работать для любого натурального числа, да любое целое число .
Это работаетопределив, является ли число выше или ниже 20, если число меньше 20, оно превратит int 1 в строку 1st, 2, 2nd;3, 3;а остальные добавят к нему "st".
Для чисел старше 20 потребуется последняя и вторая до последней цифры, которые я назвал десятками и единицами соответственно, и проверим их, чтобы увидеть, что добавить к числу.
Кстати, это на python, поэтому я не уверен, смогут ли другие языки найти последнюю или последнюю или последнюю цифру в строке, если они это сделают, это должно довольно легко перевести.
def o(numb):
if numb < 20: #determining suffix for < 20
if numb == 1:
suffix = 'st'
elif numb == 2:
suffix = 'nd'
elif numb == 3:
suffix = 'rd'
else:
suffix = 'th'
else: #determining suffix for > 20
tens = str(numb)
tens = tens[-2]
unit = str(numb)
unit = unit[-1]
if tens == "1":
suffix = "th"
else:
if unit == "1":
suffix = 'st'
elif unit == "2":
suffix = 'nd'
elif unit == "3":
suffix = 'rd'
else:
suffix = 'th'
return str(numb)+ suffix
Я вызвал функцию "o" для простоты использования и может быть вызван путем импорта имени файла, которое я назвал "ordinal", путем импорта ordinal, а затем ordinal.o (число).
Пустья знаю, что вы думаете: D