appendix> text> NumberFormat TOPUPPREVNEXT

java.text.NumberFormat

【主な機能】

数値を編集したり、解析したりするための、書式を指定します。
ここでは、編集についての機能を説明します。

【継承】


java.lang.Object
   └java.text.Format
         └java.text.NumberFormat
    

【コンストラクタ】

NumberFormat では、コンストラクタでインスタンスを生成するのではなく、 次のファクトリ・メソッドを用いてインスタンスを獲得するのが普通です。

【よく使うファクトリ・メソッド】

メソッド機能
public static final NumberFormat getNumberInstance ( ) 現在のデフォルト ロケールに対する汎用数値フォーマットを返します。
public static NumberFormat getNumberInstance ( Locale ) 指定された ロケール に対する汎用数値フォーマットを返します

【よく使われるメソッド】

メソッド機能
void setMaximumFractionDigits ( int ) 数値の小数部分として可能な最大桁数を設定します
void setMaximumIntegerDigits ( int ) 数値の整数部分として可能な最大桁数を設定します
void setMinimumFractionDigits ( int ) 数値の小数部分として可能な最小桁数を設定します
void setMinimumIntegerDigits ( int ) 数値の整数部分として可能な最小桁数を返します
void setParseIntegerOnly ( boolean ) 数値を整数としてのみ解析するかどうかを設定します
void setGroupingUsed ( boolean ) 3桁ごとにコンマをいれるかどうかを設定します
String format ( long ) 設定された編集方法で、long 型 の値を String 型に編集します
String format ( double ) 設定された編集方法で、double 型 の値を String 型に編集します

【使用例】

ロケールを指定しない例

ソース・プログラム float1.java

行番号つき プログラム・リスト

使い方の説明

パッケージは、 java.text.NumberFormat です(6行目)。

汎用数値フォーマットをゲットし、 名前をつけます(25行目)。

最初の表示

何も指定せずに変換(27行目)。 25行目でゲットした汎用数値フォーオマットの format メソッドに long か double のデータを渡し、文字列に変換させます。

2番目の表示:

小数部の最小桁数を9に設定し(28行目)、 値を文字列に変換(29行目)。 小数部が9桁にみたない場合には、0を補って最低9桁の表示がされます。

3番目の表示

小数部の最大桁数5を追加し(30行目)、変換(31行目)。 小数部が5桁より長い場合、6桁目が四捨五入され5桁にまるめられます。 どんな場合でも小数部を5桁にしたい場合には、 28行目と30行目の両方に5を指定します。

4番目の表示

整数部の最小桁数5を追加し(32行目)、変換(33行目)。

5番目の表示

3桁ごとのコンマを入れない指定を追加し(34行目)、変換(35行目)。

6番目の表示

整数部の最大桁数1を変更し(36行目)、値を変換(37行目)。

実行結果

page-17-12-1.jpg

ロケールに「ドイツ」を指定した例

小数点の表示の仕方は、言語習慣や国によって違います。たとえば、ドイツでの表記をしたければ、 25行目の NumberFormat の獲得時に ロケール を与えます。

言語や国を識別するためクラス Locale ( ロケール )は java.text パッケージに用意されています。

ソース・プログラム float1g.java

行番号つき プログラム・リスト

上記プログラム float1.java からの変更点

MumberFormat.getInstance メソッドに、 java.util.Locale.GERMAN (ドイツ国)を渡します(25行目)。かわりに、 java.util.Locale.GERMANY (ドイツ語)を渡すこともできます。

実行結果

page-17-12-2.jpg

更新日:2004-04-12