モジュール java.base
パッケージ java.text

クラスDecimalFormat

  • すべての実装されたインタフェース:
    Serializable, Cloneable

    public class DecimalFormat
    extends NumberFormat
    DecimalFormatNumberFormatの具象サブクラスであり、10進数の書式を設定します。 これには、西欧、アラビア、およびインド数字に対するサポートを含むさまざまな機能が用意されており、任意のロケールで数値の解析とフォーマットが実行できるよう設計されています。 また、整数(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 Number あり 数字
    # Number あり 数字。ゼロだと表示されない
    . Number あり 数値桁区切り子または通貨桁区切り子
    - Number あり マイナス記号
    , Number あり グループ区切り子
    E Number あり 科学表記法の仮数と指数を区切る。 接頭辞や接尾辞内に引用符を付ける必要はない。
    ; サブパターン境界 あり 正と負のサブパターンを区切る
    % 接頭辞または接尾辞 あり 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"のようにフォーマットされます。

    • 指数文字の後ろの数字の個数は、指数の最小桁数を示します。 最大桁数はありません。 負の指数は、パターンによる接頭辞や接尾辞ではなく、ローカライズされたマイナス記号を使用してフォーマットされます。 これによって、"0.###E0 m/s"などのパターンが許可されます。
    • 整数の最小桁数と最大桁数は同時に解釈されます。
      • 整数の最大桁数がその最小桁数より大きく、1より大きい場合、指数は整数の最大桁数の倍数になり、整数の最小桁数は1として解釈されます。 これは、技術表記法の場合によく使用されます。この場合、指数は"##0.#####E0"などのように3の倍数になります。 このパターンを使用すると、数値12345は"12.345E3"に、123456は"123.456E3"にフォーマットされます。
      • そうでない場合、整数の最小桁数は指数を調整することによって得られます。 例: 0.00123は"00.###E0"を使用して"12.3E-4"とフォーマットされます。
    • 仮数の有効桁数は、最小整数最大小数の桁数の合計です。有効桁数は整数の最大桁数に影響を受けません。 たとえば、12345は"##0.##E0"を使用して"12.3E3"とフォーマットされます。 すべての桁を表示する場合は、有効桁数をゼロに設定してください。 有効桁数は解析に影響しません。
    • 指数パターンにはグループ区切り子が含まれない場合があります。

    丸め

    DecimalFormatは、RoundingModeで定義されている丸めモードをフォーマット処理に提供します。 デフォルトでは、RoundingMode.HALF_EVENが使用されます。

    Digits

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

    特殊な値

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

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

    負のゼロ("-0")は、

    • isParseBigDecimal()がtrueである場合はBigDecimal(0)と解析され、
    • isParseBigDecimal()がfalse、isParseIntegerOnly()がtrueである場合はLong(0)と解析され、
    • isParseBigDecimal()isParseIntegerOnly()がどちらもfalseである場合はDouble(-0.0)と解析されます。

    Synchronization

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

    
     <strong>// Print out a number using the localized number, integer, currency,
     // and percent format for each locale</strong>
     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) {}
         }
     }
     
    導入されたバージョン:
    1.1
    関連項目:
    Java Tutorial, NumberFormat, DecimalFormatSymbols, ParsePosition, 直列化された形式
    • コンストラクタの詳細

      • DecimalFormat

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

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

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

        public DecimalFormat​(String pattern)
        デフォルトのFORMATロケールに対して、指定されたパターンと記号を使って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 final StringBuffer format​(Object number,
                                         StringBuffer toAppendTo,
                                         FieldPosition pos)
        数値をフォーマットし、その結果のテキストを指定された文字列バッファに追加します。 指定可能な数値は、Numberの任意のサブクラスです。

        この実装は最大許容精度を使用します。

        Overrides:
        format、クラス: NumberFormat
        パラメータ:
        number - フォーマットする数値
        toAppendTo - フォーマット後のテキストを追加するStringBuffer
        pos - 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールの番号1234567.89をフォーマットする場合、指定されたfieldPositionNumberFormat.INTEGER_FIELDである場合、fieldPositionのbeginインデックスとendインデックスは、それぞれ出力文字列1,234,567.89に対して0と9に設定されます。
        戻り値:
        toAppendToとして渡された値
        例外:
        IllegalArgumentException - numberがnullであるか、Numberのインスタンスでない場合。
        NullPointerException - toAppendToまたはposがnullの場合
        ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき
        関連項目:
        FieldPosition
      • format

        public StringBuffer format​(double number,
                                   StringBuffer result,
                                   FieldPosition fieldPosition)
        doubleをフォーマットして文字列を作成します。
        定義:
        format、クラス: NumberFormat
        パラメータ:
        number - フォーマットするdouble
        result - テキストを追加する位置
        fieldPosition - 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールの番号1234567.89をフォーマットする場合、指定されたfieldPositionNumberFormat.INTEGER_FIELDである場合、fieldPositionのbeginインデックスとendインデックスは、それぞれ出力文字列1,234,567.89に対して0と9に設定されます。
        戻り値:
        フォーマットされた数値文字列
        例外:
        NullPointerException - resultまたはfieldPositionnullの場合
        ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき
        関連項目:
        FieldPosition
      • format

        public StringBuffer format​(long number,
                                   StringBuffer result,
                                   FieldPosition fieldPosition)
        longをフォーマットして文字列を作成します。
        定義:
        format、クラス: NumberFormat
        パラメータ:
        number - フォーマットするlong
        result - テキストを追加する位置
        fieldPosition - 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールの番号123456789をフォーマットする場合、指定されたfieldPositionNumberFormat.INTEGER_FIELDである場合、fieldPositionのbeginインデックスとendインデックスは、それぞれ出力文字列123,456,789に対して0と11に設定されます。
        戻り値:
        フォーマットされた数値文字列
        例外:
        NullPointerException - resultまたはfieldPositionnullの場合
        ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき
        関連項目:
        FieldPosition
      • formatToCharacterIterator

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

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

        Overrides:
        formatToCharacterIterator、クラス: Format
        パラメータ:
        obj - フォーマットするオブジェクト
        戻り値:
        フォーマットされた値を説明するAttributedCharacterIterator。
        例外:
        NullPointerException - objがnullの場合。
        IllegalArgumentException - 指定されたオブジェクトをFormatでフォーマットできない場合。
        ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき
        導入されたバージョン:
        1.4
      • parse

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

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

        戻り値のサブクラスは、isParseBigDecimal()の値と解析対象文字列によって決まります。

        • isParseBigDecimal()がfalse (デフォルト値)の場合、整数値の大部分は、その記述形式にかかわらず、Longオブジェクトとして返されます。"17""17.000"はどちらも、Long(17)として解析されます。 Longに当てはまらない値はDoubleとして返されます。 これには小数部分を持つ値、無限大の値、NaN、および値 -0.0などが含まれます。 DecimalFormatは、DoubleLongのいずれを返すかを、ソース文字列内での小数区切り文字の有無で判断するわけではありません かりにそうした場合は、"-9,223,372,036,854,775,808.00"などのdoubleの仮数をオーバーフローする整数を、正確に解析できなくなります。

          呼出し元は、NumberのメソッドdoubleValuelongValueを用いることで、値を必要な型として取得できます。

        • isParseBigDecimal()がtrueの場合、値はBigDecimalオブジェクトとして返されます。 値は、ロケールに依存しない形式の対応する文字列に対してBigDecimal(String)によって構築された値です。 ただし、特殊な値(正負の無限大やNaNなど)は、対応するDouble定数値を含むDoubleインスタンスとして返されます。

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

        定義:
        parse、クラス: NumberFormat
        パラメータ:
        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

        パラメータ:
        newValue - 新しい正の接頭辞
      • getNegativePrefix

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

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

        戻り値:
        負の接頭辞
      • setNegativePrefix

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

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

        パラメータ:
        newValue - 新しい負の接頭辞
      • getPositiveSuffix

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

        例: 123%

        戻り値:
        正の接尾辞
      • setPositiveSuffix

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

        例: 123%

        パラメータ:
        newValue - 新しい正の接尾辞
      • getNegativeSuffix

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

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

        戻り値:
        負の接尾辞
      • setNegativeSuffix

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

        例123%

        パラメータ:
        newValue - 新しい負の接尾辞
      • getMultiplier

        public int getMultiplier()
        パーセント、パーミル(1000)、およびその類似フォーマットで使用する乗数を取得します。
        戻り値:
        乗数
        関連項目:
        setMultiplier(int)
      • setMultiplier

        public void setMultiplier​(int newValue)
        パーセント、パーミル(1000)、およびその類似フォーマットで使用する乗数を設定します。 パーセントでは、乗数として100を、接尾辞として%を設定します(アラビア語では異なるパーセント記号を使用する)。 パーミルでは、乗数として1000を、接尾辞として'\u2030'を設定します。

        例: 乗数100の場合、1.23のフォーマット結果は"123"、"123"の解析結果は1.23になる。

        パラメータ:
        newValue - 新しい乗数
        関連項目:
        getMultiplier()
      • setGroupingSize

        public void setGroupingSize​(int newValue)
        グループ化サイズを設定します。 グループ化サイズとは、数値の整数部分における区切り文字と区切り文字の間の桁数です。 たとえば、数値123,456.78の場合、グループ化サイズは3です。
        引数として渡された値はバイトに変換されるため、情報が失われる可能性があります。
        パラメータ:
        newValue - 新しいグループ化サイズ
        関連項目:
        getGroupingSize(), NumberFormat.setGroupingUsed(boolean), DecimalFormatSymbols.setGroupingSeparator(char)
      • isDecimalSeparatorAlwaysShown

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

        例: Decimal ON: 12345 → 12345.; OFF: 12345 → 12345

        戻り値:
        小数点区切り記号が常に表示される場合はtrue、そうでない場合はfalse
      • setDecimalSeparatorAlwaysShown

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

        例: Decimal ON: 12345 → 12345.; OFF: 12345 → 12345

        パラメータ:
        newValue - 小数点区切り記号が常に表示される場合はtrue、そうでない場合はfalse
      • isParseBigDecimal

        public boolean isParseBigDecimal()
        parse(java.lang.String, java.text.ParsePosition)メソッドがBigDecimalを返すかどうかを返します。 デフォルト値はfalseです。
        戻り値:
        この解析メソッドがBigDecimalを返す場合はtrue、そうでない場合はfalse
        導入されたバージョン:
        1.5
        関連項目:
        setParseBigDecimal(boolean)
      • setParseBigDecimal

        public void setParseBigDecimal​(boolean newValue)
        parse(java.lang.String, java.text.ParsePosition)メソッドがBigDecimalを返すかどうかを設定します。
        パラメータ:
        newValue - この解析メソッドがBigDecimalを返す場合はtrue、そうでない場合はfalse
        導入されたバージョン:
        1.5
        関連項目:
        isParseBigDecimal()
      • clone

        public Object clone()
        標準オーバーライドです。セマンティックスは変わりません。
        Overrides:
        clone、クラス: NumberFormat
        戻り値:
        このインスタンスの複製。
        関連項目:
        Cloneable
      • equals

        public boolean equals​(Object obj)
        equalsをオーバーライドします。
        Overrides:
        equals、クラス: NumberFormat
        パラメータ:
        obj - 比較対象の参照オブジェクト。
        戻り値:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • 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#)" (負の数値は括弧で囲む)。

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

        パラメータ:
        pattern - 新しいパターン
        例外:
        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#)" (負の数値は括弧で囲む)。

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

        パラメータ:
        pattern - 新しいパターン
        例外:
        NullPointerException - patternがnullである場合
        IllegalArgumentException - 指定されたパターンが無効な場合。
      • setMaximumIntegerDigits

        public void setMaximumIntegerDigits​(int newValue)
        数値の整数部分の最大桁数を設定します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと309のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。
        Overrides:
        setMaximumIntegerDigits、クラス: NumberFormat
        パラメータ:
        newValue - 整数の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。
        関連項目:
        NumberFormat.setMaximumIntegerDigits(int)
      • setMinimumIntegerDigits

        public void setMinimumIntegerDigits​(int newValue)
        数値の整数部分の最小桁数を設定します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと309のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。
        Overrides:
        setMinimumIntegerDigits、クラス: NumberFormat
        パラメータ:
        newValue - 整数の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。
        関連項目:
        NumberFormat.setMinimumIntegerDigits(int)
      • setMaximumFractionDigits

        public void setMaximumFractionDigits​(int newValue)
        数値の小数部分の最大桁数を設定します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。
        Overrides:
        setMaximumFractionDigits、クラス: NumberFormat
        パラメータ:
        newValue - 小数部の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。
        関連項目:
        NumberFormat.setMaximumFractionDigits(int)
      • setMinimumFractionDigits

        public void setMinimumFractionDigits​(int newValue)
        数値の小数部分の最小桁数を設定します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。
        Overrides:
        setMinimumFractionDigits、クラス: NumberFormat
        パラメータ:
        newValue - 小数部の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。
        関連項目:
        NumberFormat.setMinimumFractionDigits(int)
      • getMaximumIntegerDigits

        public int getMaximumIntegerDigits()
        数値の整数部分の最大桁数を取得します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。
        Overrides:
        getMaximumIntegerDigits、クラス: NumberFormat
        戻り値:
        最大桁数
        関連項目:
        setMaximumIntegerDigits(int)
      • getMinimumIntegerDigits

        public int getMinimumIntegerDigits()
        数値の整数部分の最小桁数を取得します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。
        Overrides:
        getMinimumIntegerDigits、クラス: NumberFormat
        戻り値:
        最小桁数
        関連項目:
        setMinimumIntegerDigits(int)
      • getMaximumFractionDigits

        public int getMaximumFractionDigits()
        数値の小数部分の最大桁数を取得します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。
        Overrides:
        getMaximumFractionDigits、クラス: NumberFormat
        戻り値:
        最大桁数。
        関連項目:
        setMaximumFractionDigits(int)
      • getMinimumFractionDigits

        public int getMinimumFractionDigits()
        数値の小数部分の最小桁数を取得します。 BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。
        Overrides:
        getMinimumFractionDigits、クラス: NumberFormat
        戻り値:
        最小桁数
        関連項目:
        setMinimumFractionDigits(int)
      • getCurrency

        public Currency getCurrency()
        通貨値のフォーマット時に、この10進フォーマットが使用する通貨を取得します。 この通貨は、この数値フォーマットの記号に対してDecimalFormatSymbols.getCurrencyを呼び出すことで取得されます。
        Overrides:
        getCurrency、クラス: NumberFormat
        戻り値:
        この10進フォーマットで使用される通貨、またはnull
        導入されたバージョン:
        1.4
      • setCurrency

        public void setCurrency​(Currency currency)
        通貨値のフォーマット時に、この数値フォーマットが使用する通貨を設定します。 これは、数値フォーマットが使用する最小小数桁数または最大小数桁数を更新するものではありません。 この通貨は、この数値フォーマットの記号に対してDecimalFormatSymbols.setCurrencyを呼び出すことで設定されます。
        Overrides:
        setCurrency、クラス: NumberFormat
        パラメータ:
        currency - この10進フォーマットで使用する新しい通貨
        例外:
        NullPointerException - currencyがnullである場合
        導入されたバージョン:
        1.4