ordinalize function

String ordinalize(
  1. int number
)

Convert a number to its ordinal string (1st, 2nd, 3rd, etc.).

Implementation

String ordinalize(int number) {
  final abs = number.abs();
  final lastTwo = abs % 100;
  final lastOne = abs % 10;

  String suffix;
  if (lastTwo >= 11 && lastTwo <= 13) {
    suffix = 'th';
  } else {
    suffix = switch (lastOne) {
      1 => 'st',
      2 => 'nd',
      3 => 'rd',
      _ => 'th',
    };
  }
  return '$number$suffix';
}