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つの例外はローカライズされていない通貨記号と引用符です。
記号 位置 ローカライズの有無 意味 0Number あり 数字 #Number あり 数字。ゼロだと表示されない .Number あり 数値桁区切り子または通貨桁区切り子 -Number あり マイナス記号 ,Number あり グループ区切り子 ENumber あり 科学表記法の仮数と指数を区切る。 接頭辞や接尾辞内に引用符を付ける必要はない。 ;サブパターン境界 あり 正と負のサブパターンを区切る %接頭辞または接尾辞 あり 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.FieldFRACTION_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, setParseIntegerOnlyformat, parseObjectpublic 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(), DecimalFormatSymbolspublic final StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)
format、クラスNumberFormatnumber - フォーマットする数値toAppendTo - フォーマット後のテキストを追加するStringBufferpos - 入力では、必要であれば位置合わせフィールド。 出力では、その位置合わせフィールドのオフセット。 toAppendToとして渡された値IllegalArgumentException - numberがnullであるか、Numberのインスタンスでない場合。NullPointerException - toAppendToまたはposがnullの場合ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているときFieldPositionpublic StringBuffer format(double number, StringBuffer result, FieldPosition fieldPosition)
format、クラスNumberFormatnumber - フォーマットするdoubleresult - テキストを追加する位置fieldPosition - 入力では、必要であれば位置合わせフィールド。 出力では、その位置合わせフィールドのオフセット。 ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているときFieldPositionpublic StringBuffer format(long number, StringBuffer result, FieldPosition fieldPosition)
format、クラスNumberFormatnumber - フォーマットするlongresult - テキストを追加する位置fieldPosition - 入力では、必要であれば位置合わせフィールド。 出力では、その位置合わせフィールドのオフセット。 ArithmeticException - 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているときFieldPositionpublic AttributedCharacterIterator formatToCharacterIterator(Object obj)
AttributedCharacterIteratorを生成します。 返されたAttributedCharacterIteratorを使用すると、結果のStringを構築できるとともに、結果のStringについての情報を判定できます。
AttributedCharacterIteratorの各属性キーはNumberFormat.Field型です。属性値は属性キーと同一です。
formatToCharacterIterator、クラスFormatobj - フォーマットするオブジェクト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、クラスNumberFormattext - 解析される文字列pos - 上記のインデックスおよびエラー・インデックス情報を持つParsePositionオブジェクトnullNullPointerException - textまたはposがnullの場合。NumberFormat.isParseIntegerOnly(), Format.parseObject(java.lang.String, java.text.ParsePosition)public DecimalFormatSymbols getDecimalFormatSymbols()
DecimalFormatSymbolspublic void setDecimalFormatSymbols(DecimalFormatSymbols newSymbols)
newSymbols - 必要なDecimalFormatSymbolsDecimalFormatSymbolspublic 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、クラスNumberFormatnewValue - グループ化を使用している場合はtrue、そうでない場合はfalseNumberFormat.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、そうでない場合はfalsepublic void setDecimalSeparatorAlwaysShown(boolean newValue)
例: Decimal ON: 12345 → 12345.; OFF: 12345 → 12345
newValue - 小数点区切り記号が常に表示される場合はtrue、そうでない場合はfalsepublic boolean isParseBigDecimal()
parse(java.lang.String, java.text.ParsePosition)メソッドがBigDecimalを返すかどうかを返します。 デフォルト値はfalseです。 true、そうでない場合はfalsesetParseBigDecimal(boolean)public void setParseBigDecimal(boolean newValue)
parse(java.lang.String, java.text.ParsePosition)メソッドがBigDecimalを返すかどうかを設定します。newValue - この解析メソッドがBigDecimalを返す場合はtrue、そうでない場合はfalseisParseBigDecimal()public Object clone()
clone、クラスNumberFormatCloneablepublic boolean equals(Object obj)
equals、クラスNumberFormatobj - 比較対象の参照オブジェクト。true、それ以外の場合はfalse。Object.hashCode()、HashMappublic int hashCode()
hashCode、クラスNumberFormatObject.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、クラスNumberFormatnewValue - 整数の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMaximumIntegerDigits(int)public void setMinimumIntegerDigits(int newValue)
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと309のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMinimumIntegerDigits、クラスNumberFormatnewValue - 整数の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMinimumIntegerDigits(int)public void setMaximumFractionDigits(int newValue)
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMaximumFractionDigits、クラスNumberFormatnewValue - 小数部の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMaximumFractionDigits(int)public void setMinimumFractionDigits(int newValue)
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、newValueと340のうちの小さいほうが使用されます。 負の入力値は0に置き換えられます。 setMinimumFractionDigits、クラスNumberFormatnewValue - 小数部の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。 NumberFormat.setMinimumFractionDigits(int)public int getMaximumIntegerDigits()
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。 getMaximumIntegerDigits、クラスNumberFormatsetMaximumIntegerDigits(int)public int getMinimumIntegerDigits()
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と309のうちの小さいほうが使用されます。 getMinimumIntegerDigits、クラスNumberFormatsetMinimumIntegerDigits(int)public int getMaximumFractionDigits()
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。 getMaximumFractionDigits、クラスNumberFormatsetMaximumFractionDigits(int)public int getMinimumFractionDigits()
BigIntegerオブジェクトおよびBigDecimalオブジェクト以外の数値をフォーマットする場合、この戻り値と340のうちの小さいほうが使用されます。 getMinimumFractionDigits、クラスNumberFormatsetMinimumFractionDigits(int)public Currency getCurrency()
DecimalFormatSymbols.getCurrencyを呼び出すことで取得されます。 getCurrency、クラスNumberFormatnullpublic void setCurrency(Currency currency)
DecimalFormatSymbols.setCurrencyを呼び出すことで設定されます。 setCurrency、クラスNumberFormatcurrency - この10進フォーマットで使用する新しい通貨NullPointerException - currencyがnullである場合public RoundingMode getRoundingMode()
RoundingModeを取得します。getRoundingMode、クラスNumberFormatRoundingMode。setRoundingMode(RoundingMode)public void setRoundingMode(RoundingMode roundingMode)
RoundingModeを設定します。setRoundingMode、クラスNumberFormatroundingMode - 使用されるRoundingModeNullPointerException - 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も参照してください。