Java Cookbook
Format and parse a decimal
Problem:
You want to format and parse decimal values.
Solution:
Localized formatting of decimal values is easy in Java. It can be accomplished by passing the number into the getInstance method on the NumberFormat class. Then simply call format and parse.
To format and parse a decimal value for Arabic:
//Get a locale. We use Arabic without a country here.
ULocale arabic = new ULocale("ar");
//Get a decimal formatter instance
NumberFormat nf = NumberFormat.getInstance(arabic);
//format and output
String f = nf.format(123456.789);
System.out.println(f);
//Parse the value. We must handle the potential ParseException
try {
System.out.println(nf.parse("١٢٣٬٤٥٦٫٧٨٩"));
} catch (ParseException e) {
e.printStackTrace();
}
The output :
١٢٣٬٤٥٦٫٧٨٩
123456.789
If you are testing any of these recipes in Eclipse and the characters are not displaying correctly in your console visit http://i18ncookbook.com/eclipse_settings.
This site is ad supported. I hope you find something among our sponsors worth clicking. ;)
i18n search