- すべての実装されたインタフェース:
Serializable
,Cloneable
public class DecimalFormat extends NumberFormat
DecimalFormat
はNumberFormat
の具象サブクラスであり、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"
とフォーマットされます。
- 整数の最大桁数がその最小桁数より大きく、1より大きい場合、指数は整数の最大桁数の倍数になり、整数の最小桁数は1として解釈されます。 これは、技術表記法の場合によく使用されます。この場合、指数は
- 仮数の有効桁数は、最小整数と最大小数の桁数の合計です。有効桁数は整数の最大桁数に影響を受けません。 たとえば、12345は
"##0.##E0"
を使用して"12.3E3"
とフォーマットされます。 すべての桁を表示する場合は、有効桁数をゼロに設定してください。 有効桁数は解析に影響しません。 - 指数パターンにはグループ区切り子が含まれない場合があります。
丸め
DecimalFormat
は、RoundingMode
で定義されている丸めモードをフォーマット処理に提供します。 デフォルトでは、RoundingMode.HALF_EVEN
が使用されます。
Digits
DecimalFormat
は、フォーマットにDecimalFormatSymbols
オブジェクトで定義されている、ローカライズされたゼロ数字で始まる10個の連続した文字を数字として使用します。 解析では、これらの数字とともに、Character.digit
の定義によるすべてのUnicode 10進数を認識します。
Special Values
NaN
は文字列として書式設定され、通常、単一の文字\uFFFD
があります。 この文字列はDecimalFormatSymbols
オブジェクトによって判定されます。 これは、接頭辞と接尾辞が使用されない唯一の値です。
無限大は文字列として書式設定され、通常は1文字の\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()
デフォルトのFORMAT
ロケールに対して、デフォルトのパターンと記号を使ってDecimalFormatを作成します。DecimalFormat(String pattern)
デフォルトのFORMAT
ロケールに対して、指定されたパターンと記号を使って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をフォーマットして文字列を作成します。StringBuffer
format(Object number, StringBuffer toAppendTo, FieldPosition pos)
数値をフォーマットし、その結果のテキストを指定された文字列バッファに追加します。AttributedCharacterIterator
formatToCharacterIterator(Object obj)
Objectをフォーマットし、AttributedCharacterIterator
を生成します。Currency
getCurrency()
通貨値のフォーマット時に、この10進フォーマットが使用する通貨を取得します。DecimalFormatSymbols
getDecimalFormatSymbols()
数値桁区切り文字のコピーを返します。これは通常、プログラマやユーザーによって変更されません。int
getGroupingSize()
グループ化サイズを返します。int
getMaximumFractionDigits()
数値の小数部分の最大桁数を取得します。int
getMaximumIntegerDigits()
数値の整数部分の最大桁数を取得します。int
getMinimumFractionDigits()
数値の小数部分の最小桁数を取得します。int
getMinimumIntegerDigits()
数値の整数部分の最小桁数を取得します。int
getMultiplier()
パーセント、パーミル(1000)、およびその類似フォーマットで使用する乗数を取得します。String
getNegativePrefix()
負の接頭辞を取得します。String
getNegativeSuffix()
負の接尾辞を取得します。String
getPositivePrefix()
正の接頭辞を取得します。String
getPositiveSuffix()
正の接尾辞を取得します。RoundingMode
getRoundingMode()
このDecimalFormatで使用されるRoundingMode
を取得します。int
hashCode()
hashCodeをオーバーライドします。boolean
isDecimalSeparatorAlwaysShown()
整数と区別する小数点の動作を取得します。boolean
isParseBigDecimal()
parse(java.lang.String, java.text.ParsePosition)
メソッドがBigDecimal
を返すかどうかを返します。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
setParseBigDecimal(boolean newValue)
parse(java.lang.String, java.text.ParsePosition)
メソッドがBigDecimal
を返すかどうかを設定します。void
setPositivePrefix(String newValue)
正の接頭辞を設定します。void
setPositiveSuffix(String newValue)
正の接尾辞を設定します。void
setRoundingMode(RoundingMode roundingMode)
このDecimalFormatで使用されるRoundingMode
を設定します。String
toLocalizedPattern()
このFormatオブジェクトの現在の状態を表すローカライズされたパターン文字列を総合します。String
toPattern()
このFormatオブジェクトの現在の状態を表すパターン文字列を総合します。クラス java.text.NumberFormatで宣言されたメソッド
format, format, getAvailableLocales, getCompactNumberInstance, getCompactNumberInstance, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setGroupingUsed, setParseIntegerOnly
-
コンストラクタの詳細
-
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
- 指定されたパターンが無効な場合。- 関連項目:
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)- オーバーライド:
format
、クラス:NumberFormat
- パラメータ:
number
- フォーマットする数値toAppendTo
- フォーマット後のテキストを追加するStringBuffer
pos
- 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.US
ロケールの番号1234567.89
をフォーマットする場合、指定されたfieldPosition
がNumberFormat.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
- フォーマットするdoubleresult
- テキストを追加する位置fieldPosition
- 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.US
ロケールの番号1234567.89
をフォーマットする場合、指定されたfieldPosition
がNumberFormat.INTEGER_FIELD
である場合、fieldPosition
のbeginインデックスとendインデックスは、それぞれ出力文字列1,234,567.89
に対して0と9に設定されます。- 戻り値:
- フォーマットされた数値文字列
- 例外:
NullPointerException
-result
またはfieldPosition
がnull
の場合ArithmeticException
- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
FieldPosition
-
format
public StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)longをフォーマットして文字列を作成します。- 定義:
format
、クラス:NumberFormat
- パラメータ:
number
- フォーマットするlongresult
- テキストを追加する位置fieldPosition
- 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.US
ロケールの番号123456789
をフォーマットする場合、指定されたfieldPosition
がNumberFormat.INTEGER_FIELD
である場合、fieldPosition
のbeginインデックスとendインデックスは、それぞれ出力文字列123,456,789
に対して0と11に設定されます。- 戻り値:
- フォーマットされた数値文字列
- 例外:
NullPointerException
-result
またはfieldPosition
がnull
の場合ArithmeticException
- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
FieldPosition
-
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
は、Double
、Long
のいずれを返すかを、ソース文字列内での小数区切り文字の有無で判断するわけではありません。 かりにそうした場合は、"-9,223,372,036,854,775,808.00"
などのdoubleの仮数をオーバーフローする整数を、正確に解析できなくなります。呼出し元は、
Number
のメソッドdoubleValue
やlongValue
を用いることで、値を必要な型として取得できます。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()
-
getGroupingSize
public int getGroupingSize()グループ化サイズを返します。 グループ化サイズとは、数値の整数部分における区切り文字と区切り文字の間の桁数です。 たとえば、数値123,456.78の場合、グループ化サイズは3です。- 戻り値:
- グループ化サイズ
- 関連項目:
setGroupingSize(int)
,NumberFormat.isGroupingUsed()
,DecimalFormatSymbols.getGroupingSeparator()
-
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()標準オーバーライドです。セマンティックスは変わりません。- オーバーライド:
clone
、クラス:NumberFormat
- 戻り値:
- このインスタンスの複製。
- 関連項目:
Cloneable
-
equals
public boolean equals(Object obj)equalsをオーバーライドします。- オーバーライド:
equals
、クラス:NumberFormat
- パラメータ:
obj
- 比較対象の参照オブジェクト。- 戻り値:
- このオブジェクトがobj引数と同じである場合は
true
、それ以外の場合はfalse
。 - 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()hashCodeをオーバーライドします。- オーバーライド:
hashCode
、クラス:NumberFormat
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
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に置き換えられます。- オーバーライド:
setMaximumIntegerDigits
、クラス:NumberFormat
- パラメータ:
newValue
- 整数の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
NumberFormat.setMaximumIntegerDigits(int)
-
setMinimumIntegerDigits
public void setMinimumIntegerDigits(int newValue)数値の整数部分の最小桁数を設定します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と309のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。- オーバーライド:
setMinimumIntegerDigits
、クラス:NumberFormat
- パラメータ:
newValue
- 整数の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
NumberFormat.setMinimumIntegerDigits(int)
-
setMaximumFractionDigits
public void setMaximumFractionDigits(int newValue)数値の小数部分の最大桁数を設定します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。- オーバーライド:
setMaximumFractionDigits
、クラス:NumberFormat
- パラメータ:
newValue
- 小数部の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
NumberFormat.setMaximumFractionDigits(int)
-
setMinimumFractionDigits
public void setMinimumFractionDigits(int newValue)数値の小数部分の最小桁数を設定します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。- オーバーライド:
setMinimumFractionDigits
、クラス:NumberFormat
- パラメータ:
newValue
- 小数部の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
NumberFormat.setMinimumFractionDigits(int)
-
getMaximumIntegerDigits
public int getMaximumIntegerDigits()数値の整数部分の最大桁数を取得します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。- オーバーライド:
getMaximumIntegerDigits
、クラス:NumberFormat
- 戻り値:
- 最大桁数
- 関連項目:
setMaximumIntegerDigits(int)
-
getMinimumIntegerDigits
public int getMinimumIntegerDigits()数値の整数部分の最小桁数を取得します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。- オーバーライド:
getMinimumIntegerDigits
、クラス:NumberFormat
- 戻り値:
- 最小桁数
- 関連項目:
setMinimumIntegerDigits(int)
-
getMaximumFractionDigits
public int getMaximumFractionDigits()数値の小数部分の最大桁数を取得します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。- オーバーライド:
getMaximumFractionDigits
、クラス:NumberFormat
- 戻り値:
- 最大桁数。
- 関連項目:
setMaximumFractionDigits(int)
-
getMinimumFractionDigits
public int getMinimumFractionDigits()数値の小数部分の最小桁数を取得します。BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。- オーバーライド:
getMinimumFractionDigits
、クラス:NumberFormat
- 戻り値:
- 最小桁数
- 関連項目:
setMinimumFractionDigits(int)
-
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(RoundingMode)
-
setRoundingMode
public void setRoundingMode(RoundingMode roundingMode)このDecimalFormatで使用されるRoundingMode
を設定します。- オーバーライド:
setRoundingMode
、クラス:NumberFormat
- パラメータ:
roundingMode
- 使用されるRoundingMode
- 例外:
NullPointerException
-roundingMode
がnullである場合。- 導入されたバージョン:
- 1.6
- 関連項目:
getRoundingMode()
-