Internalisasi Java - DecimalFormat Khusus Lokal

Secara default, objek DecimalFormat menggunakan lokal JVM. Kita dapat mengubah lokal default saat membuat objek DecimalFormat menggunakan kelas NumberFormat. Pada contoh di bawah ini, kita akan menggunakan pola yang sama untuk dua lokasi berbeda dan Anda dapat melihat perbedaan dalam keluarannya.

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));     
   }
}

Keluaran

Ini akan mencetak hasil sebagai berikut.

123.45
123,45
Mencetak