Method code for $integer.n_to_nth()

[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"]

the Cold Dark