文字列へ戻る | サンプル集目次へ戻る

実行結果
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。
 */
↑ 先頭へ戻る

安永ノリカズのゲーム制作&Javaサンプル集 / Java初心者用サンプル集『愛のJava256本ノック』