toOrdinal method

String toOrdinal()

Returns the ordinal representation of this integer.

1.toOrdinal();   // "1st"
2.toOrdinal();   // "2nd"
3.toOrdinal();   // "3rd"
4.toOrdinal();   // "4th"
11.toOrdinal();  // "11th"
21.toOrdinal();  // "21st"
1012.toOrdinal(); // "1012th"

Implementation

String toOrdinal() {
  final n = truncateToDouble().toInt();
  final tens = n % 100;
  if (tens >= 11 && tens <= 13) return '${n}th';

  switch (n % 10) {
    case 1:
      return '${n}st';
    case 2:
      return '${n}nd';
    case 3:
      return '${n}rd';
    default:
      return '${n}th';
  }
}