Locale Specific DecimalFormat(Locale Specific DecimalFormat)

优质
小牛编辑
128浏览
2023-12-01

默认情况下,DecimalFormat对象使用JVM的语言环境。 我们可以在使用NumberFormat类创建DecimalFormat对象时更改默认语言环境。 在下面的示例中,我们将对两个不同的区域设置使用相同的模式,您可以发现输出中的差异。

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

输出 (Output)

它将打印以下结果。

123.45
123,45