モジュール 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)"などの、正と負のサブパターンがあります。 各サブパターンには、プリフィクス、数値部分およびサフィックスが含まれます。 負のサブパターンはオプションです。指定しない場合、マイナス記号('-' U+002D HYPHEN-MINUS)が先頭に付いた正のサブパターンが負のサブパターンとして使用されます。 つまり、単独の"0.00""0.00;-0.00"と等価になります。 明示的なマイナスのサブパターンがある場合は、マイナスの接頭辞と接尾辞を指定するだけです。桁数、最小桁数、その他の属性はすべてプラスのパターンと同じです。 これは"#,##0.0#;(#)""#,##0.0#;(#,##0.0#)"と正確に同じ結果になることを意味します。

無限大、数字、グルーピング・セパレータ、小数点などに使用されるプレフィクス、サフィクスおよび様々な記号は、任意の値に設定でき、書式設定時に正しく表示されます。 ただし、記号と文字列が矛盾しないように注意をしないと、解析は信頼性を持ちません。 たとえば、DecimalFormat.parse()で正の値と負の値を区別できるように、正と負の接頭辞や接尾辞は異なる必要があります。 同一であると、DecimalFormatは負のサブパターンが指定されていないものとして動作します。 別の例として、小数点セパレータとグループ・セパレータは個別の文字にする必要があり、そうしないと解析できません。

グループ区切り子は一般に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は文字列として書式設定され、通常、単一の文字&#92;uFFFDがあります。 この文字列はDecimalFormatSymbolsオブジェクトによって判定されます。 これは、接頭辞と接尾辞が使用されない唯一の値です。

無限大は文字列として書式設定され、通常は1文字の&#92;u221Eが含まれ、プレフィクスとして正または負のプレフィクスとサフィクスが適用されます。 無限大文字列はDecimalFormatSymbolsオブジェクトによって判定されます。

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

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

Synchronization

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) {}
     }
 }
 
導入されたバージョン:
1.1
関連項目:
  • コンストラクタの詳細

    • DecimalFormat

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

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

      関連項目:
    • DecimalFormat

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

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

      パラメータ:
      pattern - ローカライズされていないパターン文字列。
      例外:
      NullPointerException - patternがnullである場合
      IllegalArgumentException - 指定されたパターンが無効な場合。
      関連項目:
    • DecimalFormat

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

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

      パラメータ:
      pattern - ローカライズされていないパターン文字列
      symbols - 使用する記号セット
      例外:
      NullPointerException - 指定された引数が1つでもnullの場合
      IllegalArgumentException - 指定されたパターンが無効な場合
      関連項目:
  • メソッドの詳細

    • format

      public final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)
      数値をフォーマットし、その結果のテキストを指定された文字列バッファに追加します。 指定可能な数値は、Numberの任意のサブクラスです。

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

      オーバーライド:
      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に設定されているとき
      関連項目:
    • 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に設定されているとき
      関連項目:
    • 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に設定されているとき
      関連項目:
    • formatToCharacterIterator

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

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

      オーバーライド:
      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の場合。
      関連項目:
    • getDecimalFormatSymbols

      public DecimalFormatSymbols getDecimalFormatSymbols()
      数値桁区切り文字のコピーを返します。これは通常、プログラマやユーザーによって変更されません。
      戻り値:
      必要なDecimalFormatSymbolsのコピー
      関連項目:
    • setDecimalFormatSymbols

      public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
      数値桁区切り文字を設定します。これは通常、プログラマやユーザーによって変更されません。
      パラメータ:
      newSymbols - 必要な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

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

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

      パラメータ:
      newValue - 新しい乗数
      関連項目:
    • getGroupingSize

      public int getGroupingSize()
      グループ化サイズを返します。 グループ化サイズとは、数値の整数部分における区切り文字と区切り文字の間の桁数です。 たとえば、数値123,456.78の場合、グループ化サイズは3です。 グループ化サイズを0に設定すると、グループ化は使用されず、setGroupingUsed(false)をコールする場合と同じ書式設定が行われます。
      戻り値:
      グループ化サイズ
      関連項目:
    • setGroupingSize

      public void setGroupingSize(int newValue)
      グループ化サイズを設定します。 グループ化サイズとは、数値の整数部分における区切り文字と区切り文字の間の桁数です。 たとえば、数値123,456.78の場合、グループ化サイズは3です。 グループ化サイズを0に設定すると、グループ化は使用されず、setGroupingUsed(false)をコールする場合と同じ書式設定が行われます。

      引数として渡された値はバイトに変換されるため、情報が失われる可能性があります。 Byte.MAX_VALUE以上の負の値はIllegalArgumentExceptionをスローします。

      パラメータ:
      newValue - 新しいグループ化サイズ
      例外:
      IllegalArgumentException - newValueが、負の数またはByte.MAX_VALUEより大きいか
      関連項目:
    • 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

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

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

      public boolean equals(Object obj)
      equalsをオーバーライドします。
      オーバーライド:
      equals、クラスNumberFormat
      パラメータ:
      obj - 比較対象の参照オブジェクト。
      戻り値:
      このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
      関連項目:
    • hashCode

      public int hashCode()
      hashCodeをオーバーライドします。
      オーバーライド:
      hashCode、クラスNumberFormat
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目:
    • toPattern

      public String toPattern()
      このFormatオブジェクトの現在の状態を表すパターン文字列を総合します。
      戻り値:
      パターン文字列
      関連項目:
    • toLocalizedPattern

      public String toLocalizedPattern()
      このFormatオブジェクトの現在の状態を表すローカライズされたパターン文字列を総合します。
      戻り値:
      ローカライズされたパターン文字
      関連項目:
    • 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に置き換えられます。
      オーバーライド:
      setMaximumIntegerDigits、クラスNumberFormat
      パラメータ:
      newValue - 整数の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。
      関連項目:
    • setMinimumIntegerDigits

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

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

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

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

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

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

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

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

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

      public RoundingMode getRoundingMode()
      このDecimalFormatで使用されるRoundingModeを取得します。
      オーバーライド:
      getRoundingMode、クラスNumberFormat
      戻り値:
      このDecimalFormatに使用されるRoundingMode
      導入されたバージョン:
      1.6
      関連項目:
    • setRoundingMode

      public void setRoundingMode(RoundingMode roundingMode)
      このDecimalFormatで使用されるRoundingModeを設定します。
      オーバーライド:
      setRoundingMode、クラスNumberFormat
      パラメータ:
      roundingMode - 使用されるRoundingMode
      例外:
      NullPointerException - roundingModeがnullである場合。
      導入されたバージョン:
      1.6
      関連項目: