[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 27-Mar-1995 as a part of ColdCore, see: @help Credit