Java Internalization - DecimalFormat เฉพาะโลแคล
โดยค่าเริ่มต้นวัตถุ DecimalFormat กำลังใช้โลแคลของ JVM เราสามารถเปลี่ยนตำแหน่งเริ่มต้นในขณะที่สร้างวัตถุ DecimalFormat โดยใช้คลาส NumberFormat ในตัวอย่างด้านล่างเราจะใช้รูปแบบเดียวกันสำหรับสองภาษาที่แตกต่างกันและคุณสามารถระบุความแตกต่างในผลลัพธ์ได้
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));
}
}
เอาต์พุต
มันจะพิมพ์ผลลัพธ์ต่อไปนี้
123.45
123,45
พิมพ์