Format a number as an ordinal
Format a number as an ordinal, e.g. 3
to 3rd
.
/**
* Format a number as an ordinal, e.g. `3` to `3rd`
* @param {number} number To format
*/
const english_ordinal_rules = new Intl.PluralRules('en', { type: 'ordinal' });
export function formatNumberOrdinal(number: number) {
const category = english_ordinal_rules.select(number);
switch (category) {
case 'one': {
return `${number}st`;
}
case 'two': {
return `${number}nd`;
}
case 'few': {
return `${number}rd`;
}
default: {
return `${number}th`;
}
}
}