Format Ordinal Numbers

 Problem:

You want to format an ordinal number like "1st" or "2nd".

Solution:

Java programmers can handle ordinal number formatting by leveraging ICU4J's RuleBasedNumberFormat class.  

 

An ordinal number is a number like "1st" "2nd" etc.

 

To format an ordinal number:

//Get a RuleBasedNumberFormat appropriate for English ordinal format

RuleBasedNumberFormat rbnf = new RuleBasedNumberFormat(ULocale.ENGLISH,RuleBasedNumberFormat.ORDINAL);

//Format the number

System.out.println(rbnf.format(21));

 


The output:

21st