![]()  | DecimalSeparator | サンプルソース | 
|---|---|---|
数字をフォーマットするために使われるNumberFormatクラス。指定したロケール(地域)に応じて数字をフォーマットする方法を紹介します。これであなたも国際人の仲間入り!?  | 
DecimalSeparator.java | 
/**
 * 愛のJava256本ノック for Java 5.0
 * Javaサンプルソース ver0.2C "DecimalSeparator"
 * DecimalSeparator.java 「異なる言語環境で、数値を表示する」
 *
 * 2005/09/23 制作:安永ノリカズ
 *
 * 【コンパイル&実行方法】
 *     >javac DecimalSeparator.java
 *     >java DecimalSeparator
 * 【キーワード】
 *     ロケール(locale:地域), ファクトリ(factory)メソッド
 * 【試してみよう】
 *     その他の国の表示形式を調べてみる。
 *     各国ごとの日付の表示形式を調べてみる。
 */
import java.lang.String;
import java.lang.System;
import java.text.NumberFormat;
import java.util.Locale;
public class DecimalSeparator {
    public static void main(String[] A00) {
        NumberFormat L00;
        int L01 = 2980;
        double L02 = 3.14;
        L00 = NumberFormat.getInstance(Locale.JAPANESE);
        System.out.printf("日本では  %s や %s と数字を書きますが、%n",
                L00.format(L01), L00.format(L02));
        L00 = NumberFormat.getInstance(Locale.GERMANY);
        System.out.printf("ドイツでは %s や %s と書きます。%n",
                L00.format(L01), L00.format(L02));
    }
}
/* ■ クラスの外でちょっと一言 ■
JavaのAPIドキュメントを眺めてて、使ったことないクラスや、初めて見るメ
ソッドに出会うと、ちょっとワクワクして試しに使ってみたくなります。そし
て、たとえ実用的ではなくとも、そこに何かの発見があると得した気分になりま
す。
今回のNumberFormat.getInstanceメソッドでのロケール指定はまさにそのパター
ン。ロケールとは、言語や文化的地域を表すもので、日付や数値を表示する際に
参照されます。通常は何も指定せずに、その環境のデフォルトのロケール(皆さ
んの場合はおそらく日本語)を採用するんですが、このサンプルのように指定す
ることも可能です。
僕はこのメソッドに出会って、小数点を.(ピリオド)で表記しない国が、ヨー
ロッパを中心にたくさんあることを知りました。ありがとうJavaの国際化。あり
がとうNumberFormat。
 */