Java-i18n-locale-decimalformat

提供:Dev Guides
移動先:案内検索

Java内部化-ロケール固有のDecimalFormat

デフォルトでは、DecimalFormatオブジェクトはJVMのロケールを使用しています。 NumberFormatクラスを使用してDecimalFormatオブジェクトを作成しながら、デフォルトのロケールを変更できます。 以下の例では、2つの異なるロケールに同じパターンを使用し、出力の違いを見つけることができます。

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

link:/cgi-bin/printpage.cgi [__印刷]