Method code for $integer.n_to_nth()

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

the Cold Dark