Feb 19

The NumberFormat and DecimalFormat classes provide support for parsing and formatting values.

They are also locale sensitive, which means they adjust the formatting and parsing rules according to the locale or region of interest.

For example in France they use a comma as a decimal separator so 5,48 is the same as 5.48 in the USA.

NumberFormat format = 
   NumberFormat.getInstance(Locale.FRANCE);
Object value = format.parse("5,48");

written by objects \\ tags: , , , , ,

Feb 16

The NumberFormat class provides support for currency formatting. By current default Locale is used to determine what currency the value should be formatted in.

double value = 6.34;
NumberFormat formatter = NumberFormat.getCurrencyInstance();
String formatted = formatter.format(value);

written by objects \\ tags: , , ,

Dec 14

When you need to format a number as a percent you can use the ‘%’ symbol in your DecimalFormat string. The static helper method getPercentInstance() can also be used if you don’t need complete control over the format string.

When the % symbol is used the value is first multiplied by 100 before applying the format string. So 0.123 would become 12.3%.


NumberFormat format1 = new DecimalFormat("##.####%");
NumberFormat format2 = NumberFormat.getPercentInstance();

String formatted1 = format1.format(value);
String formatted2 = format2.format(value);

written by objects \\ tags: , , , , , ,