Java İçselleştirme - Yerel Ayara Özgü DecimalFormat

Varsayılan olarak, DecimalFormat nesnesi JVM'nin yerel ayarını kullanır. NumberFormat sınıfını kullanarak DecimalFormat nesnesini oluştururken varsayılan yerel ayarı değiştirebiliriz. Aşağıdaki örnekte, iki farklı yerel ayar için aynı kalıbı kullanacağız ve çıktıdaki farkı görebilirsiniz.

IOTester.java

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

public class I18NTester {
   public 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));     
   }
}

Çıktı

Aşağıdaki sonucu yazdıracaktır.

123.45
123,45
Yazdır