[Turn on line numbering]
arg number;
var tens_digit_is_1, ones_digit, single_digit;
if (type(number) != 'integer)
throw(~type, "Must receive an integer");
ones_digit = abs(number) % 10;
tens_digit_is_1 = abs(number) / 10 % 10 == 1;
single_digit = abs(number) < 10;
if (ones_digit in [1, 2, 3] && !tens_digit_is_1) {
switch (ones_digit) {
case 1:
return tostr(number) + "st";
case 2:
return tostr(number) + "nd";
case 3:
return tostr(number) + "rd";
}
} else {
return tostr(number) + "th";
}
["// Created 26-Mar-1995 as a part of ColdCore, see: @help Credit"]