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"
などのパターンが許可されます。
"##0.#####E0"
などのように3の倍数になります。 このパターンを使用すると、数値12345は"12.345E3"
に、123456は"123.456E3"
にフォーマットされます。
"00.###E0"
を使用して"12.3E-4"
とフォーマットされます。
"##0.##E0"
を使用して"12.3E3"
とフォーマットされます。 すべての桁を表示する場合は、有効桁数をゼロに設定してください。 有効桁数は解析に影響しません。
DecimalFormat
は、RoundingMode
で定義されている丸めモードをフォーマット処理に提供します。 デフォルトでは、RoundingMode.HALF_EVEN
が使用されます。
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)
と解析されます。
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) {} } }
NumberFormat.Field
FRACTION_FIELD, INTEGER_FIELD
コンストラクタ | 説明 |
---|---|
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 |
setGroupingUsed(boolean 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オブジェクトの現在の状態を表すパターン文字列を総合します。
|
format, format, getAvailableLocales, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, isGroupingUsed, isParseIntegerOnly, parse, parseObject, setParseIntegerOnly
format, parseObject
public DecimalFormat()
FORMAT
ロケールに対して、デフォルトのパターンと記号を使ってDecimalFormatを作成します。 これは、国際化が主要な問題でない場合は、DecimalFormatを得るためには簡単な方法です。
指定されたロケールに対する標準フォーマットを得るには、getNumberInstanceなど、NumberFormatのファクトリ・メソッドを使用してください。 これらのファクトリ・メソッドは、指定されたロケールに対するNumberFormatの最適なサブクラスを返します。
public DecimalFormat(String pattern)
FORMAT
ロケールに対して、指定されたパターンと記号を使ってDecimalFormatを作成します。 これは、国際化が主要な問題でない場合は、DecimalFormatを得るためには簡単な方法です。
指定されたロケールに対する標準フォーマットを得るには、getNumberInstanceなど、NumberFormatのファクトリ・メソッドを使用してください。 これらのファクトリ・メソッドは、指定されたロケールに対するNumberFormatの最適なサブクラスを返します。
pattern
- ローカライズされていないパターン文字列。NullPointerException
- pattern
がnullである場合IllegalArgumentException
- 指定されたパターンが無効な場合。NumberFormat.getInstance()
, NumberFormat.getNumberInstance()
, NumberFormat.getCurrencyInstance()
, NumberFormat.getPercentInstance()
public DecimalFormat(String pattern, DecimalFormatSymbols symbols)
指定されたロケールに対する標準フォーマットを得るには、getInstanceやgetCurrencyInstanceなど、NumberFormatのファクトリ・メソッドを使用してください。 標準フォーマットをわずかに調整するだけであれば、NumberFormatファクトリ・メソッドで返されたフォーマットを修正することができます。
pattern
- ローカライズされていないパターン文字列symbols
- 使用する記号セットNullPointerException
- 指定された引数が1つでもnullの場合IllegalArgumentException
- 指定されたパターンが無効な場合NumberFormat.getInstance()
, NumberFormat.getNumberInstance()
, NumberFormat.getCurrencyInstance()
, NumberFormat.getPercentInstance()
, DecimalFormatSymbols
public final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)
format
、クラスNumberFormat
number
- フォーマットする数値toAppendTo
- フォーマット後のテキストを追加するStringBuffer
pos
- 入力では、必要であれば位置合わせフィールド。 出力では、その位置合わせフィールドのオフセット。 toAppendTo
として渡された値IllegalArgumentException
- number
がnullであるか、Number
のインスタンスでない場合。NullPointerException
- toAppendTo
またはpos
がnullの場合ArithmeticException
- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているときFieldPosition
public StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
format
、クラスNumberFormat
number
- フォーマットするdoubleresult
- テキストを追加する位置fieldPosition
- 入力では、必要であれば位置合わせフィールド。 出力では、その位置合わせフィールドのオフセット。 ArithmeticException
- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているときFieldPosition
public StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
format
、クラスNumberFormat
number
- フォーマットするlongresult
- テキストを追加する位置fieldPosition
- 入力では、必要であれば位置合わせフィールド。 出力では、その位置合わせフィールドのオフセット。 ArithmeticException
- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているときFieldPosition
public AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIterator
を生成します。 返されたAttributedCharacterIterator
を使用すると、結果のStringを構築できるとともに、結果のStringについての情報を判定できます。
AttributedCharacterIteratorの各属性キーはNumberFormat.Field
型です。属性値は属性キーと同一です。
formatToCharacterIterator
、クラスFormat
obj
- フォーマットするオブジェクトNullPointerException
- objがnullの場合。IllegalArgumentException
- 指定されたオブジェクトをFormatでフォーマットできない場合。ArithmeticException
- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき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.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)
public DecimalFormatSymbols getDecimalFormatSymbols()
DecimalFormatSymbols
public void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
newSymbols
- 必要なDecimalFormatSymbolsDecimalFormatSymbols
public String getPositivePrefix()
例+123、$123、sFr123
public void setPositivePrefix(String newValue)
例+123、$123、sFr123
newValue
- 新しい正の接頭辞public String getNegativePrefix()
例-123、($123)(負の接尾辞付き)、sFr-123
public void setNegativePrefix(String newValue)
例-123、($123)(負の接尾辞付き)、sFr-123
newValue
- 新しい負の接頭辞public String getPositiveSuffix()
例: 123%
public void setPositiveSuffix(String newValue)
例: 123%
newValue
- 新しい正の接尾辞public String getNegativeSuffix()
例-123%、($123)(正の接尾辞付き)
public void setNegativeSuffix(String newValue)
例123%
newValue
- 新しい負の接尾辞public int getMultiplier()
setMultiplier(int)
public void setMultiplier(int newValue)
例: 乗数100の場合、1.23のフォーマット結果は"123"、"123"の解析結果は1.23になる。
newValue
- 新しい乗数getMultiplier()
public void setGroupingUsed(boolean newValue)
setGroupingUsed
、クラスNumberFormat
newValue
- グループ化を使用している場合はtrue
、そうでない場合はfalse
NumberFormat.isGroupingUsed()
public int getGroupingSize()
setGroupingSize(int)
, NumberFormat.isGroupingUsed()
, DecimalFormatSymbols.getGroupingSeparator()
public void setGroupingSize(int newValue)
newValue
- 新しいグループ化サイズgetGroupingSize()
, NumberFormat.setGroupingUsed(boolean)
, DecimalFormatSymbols.setGroupingSeparator(char)
public boolean isDecimalSeparatorAlwaysShown()
例: Decimal ON: 12345 → 12345.; OFF: 12345 → 12345
true
、そうでない場合はfalse
public void setDecimalSeparatorAlwaysShown(boolean newValue)
例: Decimal ON: 12345 → 12345.; OFF: 12345 → 12345
newValue
- 小数点区切り記号が常に表示される場合はtrue
、そうでない場合はfalse
public boolean isParseBigDecimal()
parse(java.lang.String, java.text.ParsePosition)
メソッドがBigDecimal
を返すかどうかを返します。 デフォルト値はfalseです。 true
、そうでない場合はfalse
setParseBigDecimal(boolean)
public void setParseBigDecimal(boolean newValue)
parse(java.lang.String, java.text.ParsePosition)
メソッドがBigDecimal
を返すかどうかを設定します。newValue
- この解析メソッドがBigDecimalを返す場合はtrue
、そうでない場合はfalse
isParseBigDecimal()
public Object clone()
clone
、クラスNumberFormat
Cloneable
public boolean equals(Object obj)
equals
、クラスNumberFormat
obj
- 比較対象の参照オブジェクト。true
、それ以外の場合はfalse
。Object.hashCode()
、HashMap
public int hashCode()
hashCode
、クラスNumberFormat
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String toPattern()
applyPattern(java.lang.String)
public String toLocalizedPattern()
applyPattern(java.lang.String)
public void applyPattern(String pattern)
このルーチンで設定される整数の桁数に制限はありません。これは、一般なエンド・ユーザーの要望であるためです。実際の値を設定したい場合は、setMaximumIntegerを使用してください。 負の数値の場合は、セミコロンで区切った2つめのパターンを使用します。
例"#,#00.0#"
→ 1,234.56
これは、最小2桁の整数、1つの小数点、最大2桁の小数を意味します。
例: "#,#00.0#;(#,#00.0#)"
(負の数値は括弧で囲む)。
負のパターンでは、最小と最大の桁数は無視されます。これらは、正のパターンで設定されるものと見なされます。
pattern
- 新しいパターンNullPointerException
- pattern
がnullである場合IllegalArgumentException
- 指定されたパターンが無効な場合。public void applyLocalizedPattern(String pattern)
このルーチンで設定される整数の桁数に制限はありません。これは、一般なエンド・ユーザーの要望であるためです。実際の値を設定したい場合は、setMaximumIntegerを使用してください。 負の数値の場合は、セミコロンで区切った2つめのパターンを使用します。
例"#,#00.0#"
→ 1,234.56
これは、最小2桁の整数、1つの小数点、最大2桁の小数を意味します。
例: "#,#00.0#;(#,#00.0#)"
(負の数値は括弧で囲む)。
負のパターンでは、最小と最大の桁数は無視されます。これらは、正のパターンで設定されるものと見なされます。
pattern
- 新しいパターンNullPointerException
- pattern
がnullである場合IllegalArgumentException
- 指定されたパターンが無効な場合。public void setMaximumIntegerDigits(int newValue)
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と309のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMaximumIntegerDigits
、クラスNumberFormat
newValue
- 整数の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMaximumIntegerDigits(int)
public void setMinimumIntegerDigits(int newValue)
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と309のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMinimumIntegerDigits
、クラスNumberFormat
newValue
- 整数の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMinimumIntegerDigits(int)
public void setMaximumFractionDigits(int newValue)
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMaximumFractionDigits
、クラスNumberFormat
newValue
- 小数部の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMaximumFractionDigits(int)
public void setMinimumFractionDigits(int newValue)
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、newValue
と340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMinimumFractionDigits
、クラスNumberFormat
newValue
- 小数部の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMinimumFractionDigits(int)
public int getMaximumIntegerDigits()
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。 getMaximumIntegerDigits
、クラスNumberFormat
setMaximumIntegerDigits(int)
public int getMinimumIntegerDigits()
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。 getMinimumIntegerDigits
、クラスNumberFormat
setMinimumIntegerDigits(int)
public int getMaximumFractionDigits()
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。 getMaximumFractionDigits
、クラスNumberFormat
setMaximumFractionDigits(int)
public int getMinimumFractionDigits()
BigInteger
オブジェクトおよびBigDecimal
オブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。 getMinimumFractionDigits
、クラスNumberFormat
setMinimumFractionDigits(int)
public Currency getCurrency()
DecimalFormatSymbols.getCurrency
を呼び出すことで取得されます。 getCurrency
、クラスNumberFormat
null
public void setCurrency(Currency currency)
DecimalFormatSymbols.setCurrency
を呼び出すことで設定されます。 setCurrency
、クラスNumberFormat
currency
- この10進フォーマットで使用する新しい通貨NullPointerException
- currency
がnullである場合public RoundingMode getRoundingMode()
RoundingMode
を取得します。getRoundingMode
、クラスNumberFormat
RoundingMode
。setRoundingMode(RoundingMode)
public void setRoundingMode(RoundingMode roundingMode)
RoundingMode
を設定します。setRoundingMode
、クラスNumberFormat
roundingMode
- 使用されるRoundingMode
NullPointerException
- roundingMode
がnullである場合。getRoundingMode()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。