[Turn off line numbering]
1: arg number;
2: var tens_digit_is_1, ones_digit, single_digit;
3:
4: if (type(number) != 'integer)
5: throw(~type, "Must receive an integer");
6: ones_digit = abs(number) % 10;
7: tens_digit_is_1 = abs(number) / 10 % 10 == 1;
8: single_digit = abs(number) < 10;
9: if (ones_digit in [1, 2, 3] && !tens_digit_is_1) {
10: switch (ones_digit) {
11: case 1:
12: return tostr(number) + "st";
13: case 2:
14: return tostr(number) + "nd";
15: case 3:
16: return tostr(number) + "rd";
17: }
18: } else {
19: return tostr(number) + "th";
20: }
["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]