English 中文(简体)
JAVA I18N - Locale Specific DecimalFormat
  • 时间:2024-09-17

Java Internapzation - Locale Specific DecimalFormat


Previous Page Next Page  

By default, DecimalFormat object is using the JVM s locale. We can change the default locale while creating the DecimalFormat object using NumberFormat class. In the example below, we ll use same pattern for two different locale and you can spot the difference in the output.

IOTester.java

import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;

pubpc class I18NTester {
   pubpc static void main(String[] args) {
      String pattern = "###.##";
      double number = 123.45;

      Locale enlocale  = new Locale("en", "US");
      Locale dalocale  = new Locale("da", "DK");

      DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(enlocale);
      decimalFormat.applyPattern(pattern);

      System.out.println(decimalFormat.format(number));
   

      decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(dalocale);
      decimalFormat.applyPattern(pattern);

      System.out.println(decimalFormat.format(number));     
   }
}

Output

It will print the following result.

123.45
123,45
Print