JavaTM 2
Platform
Std. Ed. v1.4.0

java.text
クラス DecimalFormat

java.lang.Object
  |
  +--java.text.Format
        |
        +--java.text.NumberFormat
              |
              +--java.text.DecimalFormat
すべての実装インタフェース:
Cloneable, Serializable

public class DecimalFormat
extends NumberFormat

DecimalFormat は、10 進数をフォーマットする NumberFormat の具象サブクラスです。DecimalFormat には、西欧、アラビア、およびインド数字に対するサポートを含む様々な機能が用意されており、任意のロケールで数値の解析とフォーマットが実行できるよう設計されています。また、整数 (123)、固定小数値 (123.4)、科学表記法 (1.23E4)、パーセント (12%)、および通貨金額 ($123) などのさまざまな種類の数値もサポートしています。これらはすべて地域対応ができます。

デフォルトのロケールなどの特定のロケールの NumberFormat を取得するためには、getInstance() などの NumberFormat のファクトリメソッドの 1 つを呼び出します。通常、NumberFormat ファクトリメソッドは DecimalFormat 以外のサブクラスを返す場合があるため、DecimalFormat コンストラクタを直接呼び出しません。フォーマットオブジェクトをカスタマイズする必要がある場合は、次のように実行します。

 NumberFormat f = NumberFormat.getInstance(loc);
 if (f instanceof DecimalFormat) {
     ((DecimalFormat) f).setDecimalSeparatorAlwaysShown(true);
 }
 

DecimalFormatパターンおよび記号のセットで構成されます。パターンの設定は applyPattern() を使用して直接行うか、または API メソッドを使用して間接的に行います。記号は DecimalFormatSymbols オブジェクトに格納されます。NumberFormat ファクトリメソッドを使用している場合、パターンと記号は地域対応された ResourceBundle から読み込まれます。

パターン

DecimalFormat の構文を以下に示します。
 Pattern:
         PositivePattern
         PositivePattern ; NegativePattern
 PositivePattern:
         Prefixopt Number Suffixopt
 NegativePattern:
         Prefixopt Number Suffixopt
 Prefix:
         any Unicode characters except \uFFFE, \uFFFF, and special characters
 Suffix:
         any Unicode characters except \uFFFE, \uFFFF, and special characters
 Number:
         Integer Exponentopt
         Integer . Fraction Exponentopt
 Integer:
         MinimumInteger
         #
         # Integer
         # , Integer
 MinimumInteger:
         0
         0 MinimumInteger
         0 , MinimumInteger
 Fraction:
         MinimumFractionopt OptionalFractionopt
 MinimumFraction:
         0 MinimumFractionopt
 OptionalFraction:
         # OptionalFractionopt
 Exponent:
         E MinimumExponent
 MinimumExponent:
         0 MinimumExponentopt
 

DecimalFormat パターンには "#,##0.00;(#,##0.00)" などの、正と負のサブパターンがあります。各サブパターンには接頭辞、数値部分、および接尾辞が 1 つずつあります。負のサブパターンはオプションです。このオプションを設定しない場合は、地域対応したマイナス記号 (ほとんどのロケールでは'-') を正のサブパターンに接頭辞として付けることで、負のサブパターンとして使用します。つまり、単独の "0.00""0.00;-0.00" と等価になります。明示的な負のサブパターンがあると、これは負の接頭辞と接尾辞を指定する場合にだけ機能します。桁数、最小桁数、およびその他の特性はすべて正のパターンと同じです。これは "#,##0.0#;(#)""#,##0.0#;(#,##0.0#)" と正確に同じ結果になることを意味します。

接頭辞、接尾辞、および無限大、桁、1000 の区切り、および小数の区切り文字などに使用するさまざまな記号は、任意の値に設定でき、フォーマット中に正しく表示されます。ただし、記号と文字列が矛盾しないように注意をしないと、解析は信頼性を持ちません。たとえば、DecimalFormat.parse() で正の値と負の値を区別できるように、正と負の接頭辞や接尾辞は異なる必要があります。同一であると、DecimalFormat は負のサブパターンが指定されていないものとして動作します。別の例として、数値桁区切り子と 1000 の区切り子には異なる文字を使用する必要があります。同一の文字を使用すると解析が不可能になります。

グループ区切り子は一般に 1000 ごとに区切るために使用しますが、国によっては 10000 ごとに使用するところもあります。グループ区切りのサイズとは、100,000,000 の場合は 3、1,0000,0000 の場合は 4 というように、グループ区切り文字間の一定の桁数です。複数のグループ区切り文字を持つパターンを指定すると、最後の区切り文字と末尾の整数との間が、この間隔として使用されます。したがって、"#,##,###,####" == "######,####" == "##,####,####" となります。

特殊パターン文字

パターン内の多くの文字は文字どおりに取得されます。このような文字は解析中に一致すると、フォーマット中にそのまま出力されます。一方、特殊文字は他の文字、文字列、または文字のクラスを表します。特殊文字は、接頭辞や接尾辞にリテラルとして表示する場合は、特に指示がない限り、引用符で囲む必要があります。

次にリストする文字は、地域対応されていないパターンで使用されます。地域対応されていないパターンでは、代わりにこのフォーマッタの DecimalFormatSymbols オブジェクトから取得した対応する文字を使用すると、これらの文字は特殊な状態ではなくなります。2 つの例外は地域対応されていない通貨記号と引用符です。

記号 位置 地域対応の有無 意味
0 数値 あり 数字
# 数値 あり 数字。ゼロだと表示されない
. 数値 あり 数値桁区切り子または通貨桁区切り子
- 数値 あり マイナス記号
, 数値 あり グループ区切り子
E 数値 あり 科学表記法の仮数と指数を区切る。接頭辞や接尾辞内に引用符を付ける必要はない
; サブパターン境界 あり 正と負のサブパターンを区切る
% 接頭辞または接尾辞 あり 100 倍してパーセントを表す
\u2030 接頭辞または接尾辞 あり 1000 倍してパーミルを表す
¤ (\u00A4) 接頭辞または接尾辞 なし 通貨記号で置換される通貨符号。2 つの場合は、国際通貨記号で置換される。パターン内にある場合は、数値桁区切り子ではなく、通貨桁区切り子が使用される
' 接頭辞または接尾辞 なし 接頭辞や接尾辞内の特殊文字を引用符で囲む場合に使用される。たとえば、"'#'#" を使用すると 123 は "#123" にフォーマットされる。単一引用符自体を作成するために合は、1 行に 2 つ引用符を使用する ("# o''clock")

科学表記法

科学表記法の数値は仮数と 10 の累乗の結果として表されます。たとえば、1234 は 1.234 x 10^3 として表されます。仮数の多くは 1.0 <= x <10.0 の範囲内ですが、必ずしもこの範囲内にする必要はありません。DecimalFormat には、パターンだけを介して科学表記法をフォーマットおよび解析するよう指示できます。現在、科学表記法形式を作成するファクトリメソッドはありません。パターンでは、指数文字の直後に 1 つ以上の数字を続けて科学表記法を示します。たとえば "0.###E0" では、1234 は "1.234E3" のようにフォーマットされます。

丸め

DecimalFormat はフォーマットに直近への丸め (ROUND_HALF_EVEN を参照) を使用します。

数字

DecimalFormat は、フォーマットに DecimalFormatSymbols オブジェクトで定義されている地域対応したゼロ数字で始まる 10 個の連続した文字を数字として使用します。解析では、これらの数字とともに、Character.digit の定義によるすべての Unicode 10 進数を認識します。

特殊な値

NaN は単一の文字 (通常は \uFFFD) としてフォーマットされます。この文字は DecimalFormatSymbols オブジェクトによって判定されます。これは、接頭辞と接尾辞が使用されない唯一の値です。

無限大は単一文字 (通常は、\u221E) としてフォーマットされ、負または正の接頭辞および接尾辞が適用されます。無限大文字は DecimalFormatSymbols オブジェクトによって判定されます。

負のゼロ ("-0") は、isParseIntegerOnly() が true でない場合は Double(-0.0) と解析され、true である場合は Long(0) と解析されます。

同期

decimal フォーマットは同期化されません。スレッドごとに別のフォーマットインスタンスを作成することをお勧めします。複数のスレッドがフォーマットに同時にアクセスする場合は、外部的に同期化する必要があります。

 // Print out a number using the localized number, integer, currency,
 // and percent format for each locale
 Locale[] locales = NumberFormat.getAvailableLocales();
 double myNumber = -1234.56;
 NumberFormat form;
 for (int j=0; j<4; ++j) {
     System.out.println("FORMAT");
     for (int i = 0; i < locales.length; ++i) {
         if (locales[i].getCountry().length() == 0) {
            continue; // Skip language-only locales
         }
         System.out.print(locales[i].getDisplayName());
         switch (j) {
         case 0:
             form = NumberFormat.getInstance(locales[i]); break;
         case 1:
             form = NumberFormat.getIntegerInstance(locales[i]); break;
         case 2:
             form = NumberFormat.getCurrencyInstance(locales[i]); break;
         default:
             form = NumberFormat.getPercentInstance(locales[i]); break;
         }
         if (form instanceof DecimalFormat) {
             System.out.print(": " + ((DecimalFormat) form).toPattern());
         }
         System.out.print(" -> " + form.format(myNumber));
         try {
             System.out.println(" -> " + form.parse(form.format(myNumber)));
         } catch (ParseException e) {}
     }
 }
 

関連項目:
Java チュートリアル, NumberFormat, DecimalFormatSymbols, ParsePosition, 直列化された形式

入れ子クラスの概要
 
クラス java.text.NumberFormat から継承した入れ子クラス
NumberFormat.Field
 
クラス java.text.Format から継承した入れ子クラス
Format.Field
 
フィールドの概要
 
クラス java.text.NumberFormat から継承したフィールド
FRACTION_FIELD, INTEGER_FIELD
 
コンストラクタの概要
DecimalFormat()
          デフォルトロケールに対して、デフォルトのパターンと記号を使って DecimalFormat を作成します。
DecimalFormat(String pattern)
          デフォルトロケールに対して、指定されたパターンと記号を使って DecimalFormat を作成します。
DecimalFormat(String pattern, DecimalFormatSymbols symbols)
          指定されたパターンと記号を使って DecimalFormat を作成します。
 
メソッドの概要
 void applyLocalizedPattern(String pattern)
          指定されたパターンをこの Format オブジェクトに適用します。
 void applyPattern(String pattern)
          指定されたパターンをこの Format オブジェクトに適用します。
 Object clone()
          標準オーバーライドです。
 boolean equals(Object obj)
          equals をオーバーライドします。
 StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
          double をフォーマットして文字列を作成します。
 StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
          long をフォーマットして文字列を作成します。
 AttributedCharacterIterator formatToCharacterIterator(Object obj)
          AttributedCharacterIterator を生成する Object をフォーマットします。
 Currency getCurrency()
          通貨値をフォーマットするときに、この 10 進フォーマットで使用される通貨を取得されます。
 DecimalFormatSymbols getDecimalFormatSymbols()
          数値桁区切り文字を返します。
 int getGroupingSize()
          グループ化サイズを返します。
 int getMultiplier()
          パーセントやパーミル (1000) などで使用する掛け数を取得します。
 String getNegativePrefix()
          負の接頭辞を取得します。
 String getNegativeSuffix()
          負の接尾辞を取得します。
 String getPositivePrefix()
          正の接頭辞を取得します。
 String getPositiveSuffix()
          正の接尾辞を取得します。
 int hashCode()
          hashCode をオーバーライドします。
 boolean isDecimalSeparatorAlwaysShown()
          整数と区別する小数点の動作を取得します (小数位では小数点が常に表示される)。
 Number parse(String text, ParsePosition pos)
          文字列からテキストを解析して Number を生成します。
 void setCurrency(Currency currency)
          通貨値をフォーマットするときに、この数値フォーマットで使用される通貨を設定します。
 void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
          数値桁区切り文字を設定します。
 void setDecimalSeparatorAlwaysShown(boolean newValue)
          整数と区別する小数点の動作を設定します (小数位では小数点が常に表示される)。
 void setGroupingSize(int newValue)
          グループ化サイズを設定します。
 void setMaximumFractionDigits(int newValue)
          数値の小数部分の最大桁数を設定します。
 void setMaximumIntegerDigits(int newValue)
          数値の整数部分の最大桁数を設定します。
 void setMinimumFractionDigits(int newValue)
          数値の小数部分の最小桁数を設定します。
 void setMinimumIntegerDigits(int newValue)
          数値の整数部分の最小桁数を設定します。
 void setMultiplier(int newValue)
          パーセントやパーミル (1000) などで使用する掛け数を設定します。
 void setNegativePrefix(String newValue)
          負の接頭辞を設定します。
 void setNegativeSuffix(String newValue)
          正の接尾辞を設定します。
 void setPositivePrefix(String newValue)
          正の接頭辞を設定します。
 void setPositiveSuffix(String newValue)
          正の接尾辞を設定します。
 String toLocalizedPattern()
          この Format オブジェクトの現在の状態を表す地域対応されたパターン文字列を総合します。
 String toPattern()
          この Format オブジェクトの現在の状態を表すパターン文字列を総合します。
 
クラス java.text.NumberFormat から継承したメソッド
format, format, format, getAvailableLocales, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setGroupingUsed, setParseIntegerOnly
 
クラス java.text.Format から継承したメソッド
format, parseObject
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

DecimalFormat

public DecimalFormat()
デフォルトロケールに対して、デフォルトのパターンと記号を使って DecimalFormat を作成します。これは、国際化が主要な問題でない場合に、DecimalFormat を得るためにの簡単な方法です。

指定されたロケールに対する標準フォーマットを得るには、getNumberInstance など、NumberFormat のファクトリメソッドを使用してください。これらのファクトリメソッドは、指定されたロケールに対する NumberFormat の最適なサブクラスを返します。

関連項目:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String pattern)
デフォルトロケールに対して、指定されたパターンと記号を使って DecimalFormat を作成します。これは、国際化が主要な問題でない場合は、DecimalFormat を得るためには簡単な方法です。

指定されたロケールに対する標準フォーマットを得るには、getNumberInstance など、NumberFormat のファクトリメソッドを使用してください。これらのファクトリメソッドは、指定されたロケールに対する NumberFormat の最適なサブクラスを返します。

パラメータ:
pattern - 非地域対応のパターン文字列
例外:
NullPointerException - pattern が null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合
関連項目:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance()

DecimalFormat

public DecimalFormat(String pattern,
                     DecimalFormatSymbols symbols)
指定されたパターンと記号を使って DecimalFormat を作成します。フォーマットの動作を完全にカスタマイズする必要がある場合には、このコンストラクタを使ってください。

指定されたロケールに対する標準フォーマットを得るには、getInstance や getCurrencyInstance など、NumberFormat のファクトリメソッドを使用してください。標準フォーマットをわずかに調整するだけであれば、NumberFormat ファクトリメソッドで返されたフォーマットを修正することができます。

パラメータ:
pattern - 非地域対応のパターン文字列
symbols - 使用する記号セット
例外:
NullPointerException - 指定された引数が 1 つでも null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合
関連項目:
NumberFormat.getInstance(), NumberFormat.getNumberInstance(), NumberFormat.getCurrencyInstance(), NumberFormat.getPercentInstance(), DecimalFormatSymbols
メソッドの詳細

format

public StringBuffer format(double number,
                           StringBuffer result,
                           FieldPosition fieldPosition)
double をフォーマットして文字列を作成します。

定義:
クラス NumberFormat 内の format
パラメータ:
number - フォーマットする double
result - テキストを追加する位置
fieldPosition - 入力の場合は位置合わせフィールド (必要な場合)。出力の場合は位置合わせフィールドのオフセット
戻り値:
フォーマットされた数値文字列
関連項目:
FieldPosition

format

public StringBuffer format(long number,
                           StringBuffer result,
                           FieldPosition fieldPosition)
long をフォーマットして文字列を作成します。

定義:
クラス NumberFormat 内の format
パラメータ:
number - フォーマットする long
result - テキストを追加する位置
fieldPosition - 入力の場合は位置合わせフィールド (必要な場合)。出力の場合は位置合わせフィールドのオフセット
戻り値:
フォーマットされた数値文字列
関連項目:
FieldPosition

formatToCharacterIterator

public AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator を生成する Object をフォーマットします。返された AttributedCharacterIterator を使用すると、結果の String についての情報を判定できると共に、結果の String を構築できます。

AttributedCharacterIterator の各属性キーは NumberFormat.Field 型です。属性値は属性キーと同一です。

オーバーライド:
クラス Format 内の formatToCharacterIterator
パラメータ:
obj - フォーマットするオブジェクト
戻り値:
フォーマットされた値を説明する AttributedCharacterIterator
例外:
NullPointerException - obj が null の場合
IllegalArgumentException - 指定されたオブジェクトを Format でフォーマットできない場合
導入されたバージョン:
1.4

parse

public Number parse(String text,
                    ParsePosition pos)
文字列からテキストを解析して Number を生成します。

メソッドは pos によって指定されたインデックスを開始位置としてテキストの解析を試みます。解析が完了すると、pos のインデックスは、使用された最後の文字 (解析では、文字列の最後までのすべての文字が使用されるとは限らない) の後のインデックスに更新され、解析された数値が返されます。更新された pos は、このメソッドの次の呼び出しの開始点を示すのに使用できます。エラーが発生した場合は、pos のインデックスは変更されず、エラーが発生した文字のインデックスに pos のエラーインデックスが設定され、null が返されます。

文字列によって指定された数値を表すもっとも実用的なサブクラスが選択されます。ほとんどの整数値が、記述されている形式によらず、Long オブジェクトとして返されます。たとえば、"17""17.000" は、両方とも Long(17) と解析されます。Long に適合しない値は、Double として返されます。これには、小数部分を持つ値、無限大の値、NaN、-0.0 などがあります。DecimalFormat は、ソース文字列内に数値桁区切り子があるかどうかに基づいて Double または Long のどちらを返すか決定するわけではありません"10,000,000,000,000,000.00" などの double の仮数をオーバーフローする整数を正確に解析できなくなることを避けるためです。現在、DecimalFormat によって返されるクラスは LongDouble だけですが、呼び出し側はこれに依存する必要はありません。呼び出し側は Number メソッドの doubleValuelongValue などを使用して、必要な型を取得できます。

DecimalFormat は、Character.digit() で定義されている 10 進数字を表すすべての Unicode 文字を解析します。さらに DecimalFormat は、DecimalFormatSymbols オブジェクトで定義されている地域対応したゼロ数字で始まる 10 個の連続した文字を数字として認識します。

定義:
クラス NumberFormat 内の parse
パラメータ:
text - 解析される文字列
pos - 上記のインデックスおよびエラーインデックス情報を持つ ParsePosition オブジェクト
戻り値:
解析された値。解析が失敗した場合は null
例外:
NullPointerException - text または pos が null の場合
関連項目:
NumberFormat.isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)

getDecimalFormatSymbols

public DecimalFormatSymbols getDecimalFormatSymbols()
数値桁区切り文字を返します。これは通常、プログラマやユーザによって変更されません。

戻り値:
必要な DecimalFormatSymbols
関連項目:
DecimalFormatSymbols

setDecimalFormatSymbols

public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
数値桁区切り文字を設定します。これは通常、プログラマやユーザによって変更されません。

パラメータ:
newSymbols - 必要な DecimalFormatSymbols
関連項目:
DecimalFormatSymbols

getPositivePrefix

public String getPositivePrefix()
正の接頭辞を取得します。

例: +123、$123、sFr123


setPositivePrefix

public void setPositivePrefix(String newValue)
正の接頭辞を設定します。

例: +123、$123、sFr123


getNegativePrefix

public String getNegativePrefix()
負の接頭辞を取得します。

例: -123、($123) (負の接尾辞付き)、sFr-123


setNegativePrefix

public void setNegativePrefix(String newValue)
負の接頭辞を設定します。

例: -123、($123) (負の接尾辞付き)、sFr-123


getPositiveSuffix

public String getPositiveSuffix()
正の接尾辞を取得します。

例: 123%


setPositiveSuffix

public void setPositiveSuffix(String newValue)
正の接尾辞を設定します。

例: 123%


getNegativeSuffix

public String getNegativeSuffix()
負の接尾辞を取得します。

例: -123%、($123) (正の接尾辞付き)


setNegativeSuffix

public void setNegativeSuffix(String newValue)
正の接尾辞を設定します。

例: 123%


getMultiplier

public int getMultiplier()
パーセントやパーミル (1000) などで使用する掛け数を取得します。パーセントでは、接尾辞として % を、掛け数として 100 を設定します (アラビア語では、グラフィックのパーセント記号を使用する)。パーミルでは、接尾辞として ? を、掛け数として 1000 を設定します。

例: 100 の場合、1.23 -> "123"、"123" -> 1.23


setMultiplier

public void setMultiplier(int newValue)
パーセントやパーミル (1000) などで使用する掛け数を設定します。パーセントでは、接尾辞として % を、掛け数として 100 を設定します (アラビア語では、グラフィックのパーセント記号を使用する)。パーミルでは、接尾辞として ? を、掛け数として 1000 を設定します。

例: 100 の場合、1.23 -> "123"、"123" -> 1.23


getGroupingSize

public int getGroupingSize()
グループ化サイズを返します。グループ化サイズとは、数値の整数部分における区切り文字と区切り文字の間の桁数です。たとえば、数値 123,456.78 の場合、グループ化サイズは 3 です。

関連項目:
setGroupingSize(int), NumberFormat.isGroupingUsed(), DecimalFormatSymbols.getGroupingSeparator()

setGroupingSize

public void setGroupingSize(int newValue)
グループ化サイズを設定します。グループ化サイズとは、数値の整数部分における区切り文字と区切り文字の間の桁数です。たとえば、数値 123,456.78 の場合、グループ化サイズは 3 です。

関連項目:
getGroupingSize(), NumberFormat.setGroupingUsed(boolean), DecimalFormatSymbols.setGroupingSeparator(char)

isDecimalSeparatorAlwaysShown

public boolean isDecimalSeparatorAlwaysShown()
整数と区別する小数点の動作を取得します (小数位では小数点が常に表示される)。

例: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345


setDecimalSeparatorAlwaysShown

public void setDecimalSeparatorAlwaysShown(boolean newValue)
整数と区別する小数点の動作を設定します (小数位では小数点が常に表示される)。

例: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345


clone

public Object clone()
標準オーバーライドです。セマンティクスは変わりません。

オーバーライド:
クラス NumberFormat 内の clone
戻り値:
このインスタンスの複製

equals

public boolean equals(Object obj)
equals をオーバーライドします。

オーバーライド:
クラス NumberFormat 内の equals
パラメータ:
obj - 比較対象の参照オブジェクト
戻り値:
obj 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
hashCode をオーバーライドします。

オーバーライド:
クラス NumberFormat 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toPattern

public String toPattern()
この Format オブジェクトの現在の状態を表すパターン文字列を総合します。

関連項目:
applyPattern(java.lang.String)

toLocalizedPattern

public String toLocalizedPattern()
この Format オブジェクトの現在の状態を表す地域対応されたパターン文字列を総合します。

関連項目:
applyPattern(java.lang.String)

applyPattern

public void applyPattern(String pattern)
指定されたパターンをこの Format オブジェクトに適用します。パターンとは、各種のフォーマット特性に対する簡略仕様です。これらの特性は、各設定機能メソッドで個別に変更することもできます。

このルーチンで設定される整数の桁数に制限はありません。これは、一般なエンドユーザの要望であるためです。実際の値を設定したい場合は、setMaximumInteger を使用してください。負の数値の場合は、セミコロンで区切った 2 つ目のパターンを使用します。

例: "#,#00.0#" -> 1,234.56

これは、最小 2 桁の整数、1 つの小数点、最大 2 桁の小数を意味します。

例: "#,#00.0#;(#,#00.0#)" (負の数値は括弧で囲む)

負のパターンでは、最小と最大の桁数は無視されます。これらは、正のパターンで設定されるものと見なされます。

例外:
NullPointerException - pattern が null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合

applyLocalizedPattern

public void applyLocalizedPattern(String pattern)
指定されたパターンをこの Format オブジェクトに適用します。このパターンの表記は、地域対応されているものと見なされます。パターンとは、各種のフォーマット特性に対する簡略仕様です。これらの特性は、各設定機能メソッドで個別に変更することもできます。

このルーチンで設定される整数の桁数に制限はありません。これは、一般なエンドユーザの要望であるためです。実際の値を設定したい場合は、setMaximumInteger を使用してください。負の数値の場合は、セミコロンで区切った 2 つ目のパターンを使用します。

例: "#,#00.0#" -> 1,234.56

これは、最小 2 桁の整数、1 つの小数点、最大 2 桁の小数を意味します。

例: "#,#00.0#;(#,#00.0#)" (負の数値は括弧で囲む)

負のパターンでは、最小と最大の桁数は無視されます。これらは、正のパターンで設定されるものと見なされます。

例外:
NullPointerException - pattern が null の場合
IllegalArgumentException - 指定されたパターンが正しくない場合

setMaximumIntegerDigits

public void setMaximumIntegerDigits(int newValue)
数値の整数部分の最大桁数を設定します。このオーバーライドは、整数の桁数を 309 に制限します。

オーバーライド:
クラス NumberFormat 内の setMaximumIntegerDigits
パラメータ:
newValue - 整数の最大表示桁数。0 より小さい場合は 0 が使用される。具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる
関連項目:
NumberFormat.setMaximumIntegerDigits(int)

setMinimumIntegerDigits

public void setMinimumIntegerDigits(int newValue)
数値の整数部分の最小桁数を設定します。このオーバーライドは、整数の桁数を 309 に制限します。

オーバーライド:
クラス NumberFormat 内の setMinimumIntegerDigits
パラメータ:
newValue - 整数の最小表示桁数。0 より小さい場合は 0 が使用される。具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる
関連項目:
NumberFormat.setMinimumIntegerDigits(int)

setMaximumFractionDigits

public void setMaximumFractionDigits(int newValue)
数値の小数部分の最大桁数を設定します。このオーバーライドは、小数の桁数を 340 に制限します。

オーバーライド:
クラス NumberFormat 内の setMaximumFractionDigits
パラメータ:
newValue - 小数点の最大表示桁数。0 より小さい場合は 0 が使用される。具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる
関連項目:
NumberFormat.setMaximumFractionDigits(int)

setMinimumFractionDigits

public void setMinimumFractionDigits(int newValue)
数値の小数部分の最小桁数を設定します。このオーバーライドは、小数の桁数を 340 に制限します。

オーバーライド:
クラス NumberFormat 内の setMinimumFractionDigits
パラメータ:
newValue - 小数点の最小表示桁数。0 より小さい場合は 0 が使用される。具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる
関連項目:
NumberFormat.setMinimumFractionDigits(int)

getCurrency

public Currency getCurrency()
通貨値をフォーマットするときに、この 10 進フォーマットで使用される通貨を取得されます。通貨は、この数値フォーマットの記号について DecimalFormatSymbols.getCurrency を呼び出すことで取得します。

オーバーライド:
クラス NumberFormat 内の getCurrency
戻り値:
この 10 進フォーマットで使用される通貨、または null
導入されたバージョン:
1.4

setCurrency

public void setCurrency(Currency currency)
通貨値をフォーマットするときに、この数値フォーマットで使用される通貨を設定します。これは、数値フォーマットが使用する最小小数桁数や最大小数桁数を更新するものではありません。通貨は、この数値フォーマットの記号について DecimalFormatSymbols.setCurrency を呼び出すことで設定されます。

オーバーライド:
クラス NumberFormat 内の setCurrency
パラメータ:
currency - この 10 進フォーマットで使用する新しい通貨
例外:
NullPointerException - currency が null の場合
導入されたバージョン:
1.4

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.