Nội bộ hóa Java - Định dạng thập phân cụ thể theo ngôn ngữ địa phương

Theo mặc định, đối tượng DecimalFormat đang sử dụng ngôn ngữ của JVM. Chúng ta có thể thay đổi ngôn ngữ mặc định trong khi tạo đối tượng DecimalFormat bằng cách sử dụng lớp NumberFormat. Trong ví dụ dưới đây, chúng tôi sẽ sử dụng cùng một mẫu cho hai ngôn ngữ khác nhau và bạn có thể nhận ra sự khác biệt trong đầu ra.

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

Đầu ra

Nó sẽ in ra kết quả sau.

123.45
123,45
In