クラスNumberFormat
- すべての実装されたインタフェース:
Serializable,Cloneable
- 直系の既知のサブクラス:
ChoiceFormat,CompactNumberFormat,DecimalFormat
NumberFormatは、すべての数値フォーマットに対するabstract基底クラスです。 このクラスは、数値をローカライズされた方法で書式設定および解析するためのインタフェースを提供します。 これにより、小数点、3桁区切り、使用する特定の10進数、または数値書式が10進数であるかどうかのロケール規則から完全に独立できるコードが有効になります。 たとえば、このクラスをアプリケーション内で使用して、目的のロケールの規則に従って通貨形式で数値を生成できます。
NumberFormatの取得
デフォルトのロケールでNumberFormatを取得するには、NumberFormatの具象サブクラスを返す静的ファクトリ・メソッドのいずれかを使用します。 次の形式はすべて、Number "2000.50"をデフォルトのロケールとしてUSロケールで書式設定する例を示しています。
-
getInstance()またはgetNumberInstance()を使用して、10進数形式を取得します。 たとえば、"2,000.5"です。 -
getIntegerInstance()を使用して整数書式を取得します。 たとえば、"2,000"です。 -
getCurrencyInstance()を使用して、通貨数値書式を取得します。 たとえば、"$2,000.50"です。 -
getCompactNumberInstance()を使用して、コンパクトな数値書式を取得します。 たとえば、"2K"です。 -
getPercentInstance()を使用して、パーセンテージを表示するための書式を取得します。 たとえば、"200,050%"です。
NumberFormatが必要な場合は、Localeをパラメータとして使用するオーバーロードされたファクトリ・メソッドのいずれか(たとえば、getIntegerInstance(Locale))を使用します。 インストールされているロケール依存のサービス実装が、指定されたLocaleをサポートしていない場合、親ロケール・チェーンが検索され、サポートされているLocaleが使用されます。
ロケール拡張
フォーマット動作は、次の「Unicode拡張」のいずれかを含むロケールを使用する場合に変更できます。- "nu" (「ナンバリング・システム」) - 使用されている小数桁を上書きします
- "rg" (「リージョン・オーバーライド」) - 使用されている国を上書きします
- "cf" (「通貨書式形式」) - 使用する通貨書式スタイルを上書きします
"nu"と"rg"の両方が指定されている場合、"nu"拡張子の小数点は、"rg"拡張子の暗黙のものよりも優先されます。 「Unicode拡張」では様々なキーと値が定義されますが、Java Runtime Environmentでの実際のロケール依存サービス実装では、特定のUnicodeロケール属性またはキー/タイプ・ペアがサポートされない場合があります。
次に、会計スタイルを持つ"US"ロケール通貨書式の例を示します。
NumberFormat.getCurrencyInstance(Locale.forLanguageTag("en-US-u-cf-account"));
このスタイルでは、負の値は、先頭にマイナス記号を付加するのではなく、カッコで囲まれて書式設定されます。
NumberFormatの使用
次に、ローカライズされた形式での書式設定と解析の例を示します。NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(Locale.US);
currencyFormat.format(100000); // returns "$100,000.00"
currencyFormat.parse("$100,000.00"); // returns 100000
NumberFormatのカスタマイズ
NumberFormatは、書式設定および解析動作をカスタマイズするためのAPIを提供
-
setParseIntegerOnly(boolean);trueの場合、文字列から解析された数値の整数部分のみが返されます。 -
setMinimumFractionDigits(int);書式設定時に必要な桁を調整するために使用します。 その他の最小/最大または小数/整数セッター・メソッドを同じ方法で使用します。 -
setGroupingUsed(boolean);trueの場合、書式設定された数値はグループ化セパレータとともに表示されます。 また、falseの場合、解析では解析された文字列のグループ化セパレータは想定されません。 -
setStrict(boolean);trueの場合、解析は厳密に行われます。 厳密な解析の動作は、NumberFormatサブクラスの実装で参照する必要があります。
書式設定または解析の動作をより詳細に制御するために、NumberFormatの実装サブクラスに安全に変換するためにタイプ・チェックを実行できます。これにより、サブクラスで定義された追加のメソッドが提供されます。 たとえば、
NumberFormat nFmt = NumberFormat.getInstance(Locale.US);
if (nFmt instanceof DecimalFormat dFmt) {
dFmt.setDecimalSeparatorAlwaysShown(true);
dFmt.format(100); // returns "100."
}
NumberFormatサブクラスは、インストールされているロケール・サービス・プロバイダの実装に依存しており、常にDecimalFormatまたはCompactNumberFormatであるとはかぎりません。
さらに、parseとformatメソッドの形式をParsePositionとFieldPositionとともに使用すれば、次のことが可能です。
- 文字列の一部を順次解析
- 小数点とその他の領域の整列
- モノスペース・フォントを使い、位置合わせにスペースを入れる場合には、フォーマット呼出しで
FieldPositionを渡すことができます。このとき、field=INTEGER_FIELDとします。 出力では、getEndIndexが、整数の最後の文字と小数点の間のオフセットに設定されます。 文字列の前に(desiredSpaceCount - getEndIndex)のスペースを追加してください。 - プロポーショナル・フォントを使う場合には、スペースを追加する代わりに、文字列の幅をその始めから
getEndIndexまでピクセル単位で測ります。 次に、テキストを描く前に、(desiredPixelWidth - widthToAlignmentPoint)だけペンを移動します。 これは、小数点を扱うことはできませんが、終わりに追加の文字がある場合にも有効です。たとえば、-12を"(12)"にするように、負の数に括弧を付ける場合です。
Leniency
NumberFormatは、デフォルトで非厳密に解析されます。 サブクラスは、オプションのisStrict()メソッドおよびsetStrict(boolean)メソッドに対する厳密な解析の実装と、そのようにオーバーライドおよび実装の提供を検討できます。
非数値または非書式の関連値を含む文字列から数値を解析しようとする場合は、非厳密な解析を使用する必要があります。 たとえば、Locale.US通貨書式を使用して、文字列"$1,000.00が支払われました"から数値1000を解析します。
厳密な解析は、Stringがロケールの規則に正確に準拠していることを確認しようとするときに使用し、入力の検証に役立てることができます。 たとえば、文字列"1.000,55"から番号1000.55を正常に解析すると、文字列がLocale.GERMANYの数値表記規則に正確に準拠していることが確認されます。
Synchronization
数値フォーマットは同期化されません。 スレッドごとに別のフォーマット・インスタンスを作成することをお薦めします。 複数のスレッドがフォーマットに並行してアクセスする場合は、外部的に同期化する必要があります。- 実装要件:
- NULLパラメータ処理
-
format(double, StringBuffer, FieldPosition)、format(long, StringBuffer, FieldPosition)およびparse(String, ParsePosition)メソッドは、NullPointerExceptionのいずれかがnullの場合、NullPointerExceptionをスローすることがあります。 サブクラスは、NullPointerExceptionに関する独自の実装と仕様を提供することができます。
- デフォルトの実装では、数値の書式設定のために
RoundingModeで定義された丸めモードが提供されます。 「ラウンド半偶数アルゴリズム」を使用します。 丸めモードを変更するには、setRoundingModeを使用します。 静的ファクトリ・メソッドによって返されたNumberFormatは、書式構成のために半角丸め(RoundingMode.HALF_EVENを参照してください)を使用して浮動小数点数を丸めるように構成されています。
-
- 導入されたバージョン:
- 1.1
- 外部仕様
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static classNumberFormat.formatToCharacterIteratorから返されたAttributedCharacterIterator内の属性キー、およびFieldPosition内のフィールド識別子として使用する定数を定義します。static enum数値書式設定スタイル。 -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final intFieldPositionオブジェクトを構築するためのフィールド定数です。static final intFieldPositionオブジェクトを構築するためのフィールド定数です。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明clone()Cloneableをオーバーライドします。boolean指定されたオブジェクトをこのNumberFormatと比較し、等しいかどうかを確認します。final Stringformat(double number) フォーマットの特殊化です。abstract StringBufferformat(double number, StringBuffer toAppendTo, FieldPosition pos) フォーマットの特殊化です。final Stringformat(long number) フォーマットの特殊化です。abstract StringBufferformat(long number, StringBuffer toAppendTo, FieldPosition pos) フォーマットの特殊化です。format(Object number, StringBuffer toAppendTo, FieldPosition pos) 数値をフォーマットし、その結果のテキストを指定された文字列バッファに追加します。static Locale[]このクラスのget*Instanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。static NumberFormatstatic NumberFormatgetCompactNumberInstance(Locale locale, NumberFormat.Style formatStyle) 指定されたlocaleおよびformatStyleに対してコンパクトな数値形式を返します。通貨値のフォーマット時に、この数値フォーマットが使用する通貨を取得します。static final NumberFormat現在のデフォルトのFORMATロケールに対する通貨フォーマットを返します。static NumberFormatgetCurrencyInstance(Locale inLocale) 指定されたロケールに対する通貨フォーマットを返します。static final NumberFormat現在のデフォルトのFORMATロケールに対する汎用数値フォーマットを返します。static NumberFormatgetInstance(Locale inLocale) 指定されたロケールに対する汎用数値フォーマットを返します。static final NumberFormat現在のデフォルトのFORMATロケールに対する整数型数値フォーマットを返します。static NumberFormatgetIntegerInstance(Locale inLocale) 指定されたロケールに対する整数型数値フォーマットを返します。int数値の小数部分として可能な最大桁数を返します。int数値の整数部分として可能な最大桁数を返します。int数値の小数部分として可能な最小桁数を返します。int数値の整数部分として可能な最小桁数を返します。static final NumberFormat現在のデフォルトのFORMATロケールに対する汎用数値フォーマットを返します。static NumberFormatgetNumberInstance(Locale inLocale) 指定されたロケールに対する汎用数値フォーマットを返します。static final NumberFormat現在のデフォルトのFORMATロケールに対するパーセント・フォーマットを返します。static NumberFormatgetPercentInstance(Locale inLocale) 指定されたロケールに対するパーセント・フォーマットを返します。このNumberFormatで使用されるRoundingModeを取得します。inthashCode()このNumberFormatのハッシュ・コードを返します。booleanこのフォーマットでグループ化が使用される場合に、trueを返します。booleanこのフォーマットが数値を整数としてのみ解析する場合に、trueを返します。booleanisStrict()この書式で数値が厳密に解析される場合はtrue、それ以外の場合はfalseを返します。指定された文字列の先頭からテキストを解析して、Numberを生成します。abstract Numberparse(String source, ParsePosition parsePosition) 指定された文字列の先頭からテキストを解析して、Numberを生成します。final ObjectparseObject(String source, ParsePosition pos) 指定された文字列からテキストを解析してオブジェクトを生成します。voidsetCurrency(Currency currency) 通貨値のフォーマット時に、この数値フォーマットが使用する通貨を設定します。voidsetGroupingUsed(boolean newValue) このフォーマットでグループ化を使用するかどうかを設定します。voidsetMaximumFractionDigits(int newValue) 数値の小数部分で許可される最大桁数を設定します。maximumFractionDigitsは、minimumFractionDigits以上である必要があります。voidsetMaximumIntegerDigits(int newValue) 数値の整数部分で許可される最大桁数を設定します。maximumIntegerDigitsは、minimumIntegerDigits以上である必要があります。voidsetMinimumFractionDigits(int newValue) 数値の小数部分で許可される最小桁数を設定します。minimumFractionDigitsは、maximumFractionDigits以下である必要があります。voidsetMinimumIntegerDigits(int newValue) 数値の整数部分で許可される最小桁数を返します。minimumIntegerDigitsは、maximumIntegerDigits以下である必要があります。voidsetParseIntegerOnly(boolean value) 数値を整数としてのみ解析するかどうかを設定します。voidsetRoundingMode(RoundingMode roundingMode) このNumberFormatで使用されるRoundingModeを設定します。voidsetStrict(boolean strict) 解析する非厳密値を変更します。クラスjava.text.Formatで宣言されたメソッド
format, formatToCharacterIterator, parseObject
-
フィールド詳細
-
INTEGER_FIELD
public static final int INTEGER_FIELDFieldPositionオブジェクトを構築するためのフィールド定数です。 フォーマットされた数値の整数部分の位置を返すように指定します。- 関連項目:
-
FRACTION_FIELD
public static final int FRACTION_FIELDFieldPositionオブジェクトを構築するためのフィールド定数です。 フォーマットされた数値の小数部分の位置を返すように指定します。- 関連項目:
-
-
コンストラクタの詳細
-
NumberFormat
protected NumberFormat()唯一のコンストラクタです。 (サブクラスのコンストラクタによる呼出し用で、通常は暗黙的に呼び出されます。)
-
-
メソッドの詳細
-
format
public StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos) 数値をフォーマットし、その結果のテキストを指定された文字列バッファに追加します。 指定可能な数値は、Numberの任意のサブクラスです。この実装は、numberから値を抽出する際に、情報の損失なしに
longに変換可能な整数型の値に対しては、Number.longValue()を使用します。bit lengthが64未満のBigInteger値もこれに該当します。その他の型に対しては、Number.doubleValue()を使用します。 続いて、format(long,java.lang.StringBuffer,java.text.FieldPosition)またはformat(double,java.lang.StringBuffer,java.text.FieldPosition)を呼び出します。 ただしBigDecimal値とBigInteger値の場合は、これにより、その絶対値情報や精度が失われる可能性があります。- 定義:
format、クラスFormat- パラメータ:
number- フォーマットする数値toAppendTo- フォーマット後のテキストを追加するStringBufferpos- 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールで数値1234567.89を書式設定する場合、指定されたfieldPositionがINTEGER_FIELDの場合、出力文字列1,234,567.89では、fieldPositionの開始索引および終了索引がそれぞれ0および9に設定されます。- 戻り値:
toAppendToとして渡された値- 例外:
IllegalArgumentException-numberがnullであるか、Numberのインスタンスでない場合。NullPointerException-toAppendToまたはposがnullの場合ArithmeticException- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
-
parseObject
public final Object parseObject(String source, ParsePosition pos) 指定された文字列からテキストを解析してオブジェクトを生成します。このメソッドは、
posで指定されたインデックスから始まるテキストを解析しようとします。 解析が完了すると、posのインデックスは、使用された最後の文字(解析では、文字列の最後までのすべての文字を使用するとは限らない)のあとのインデックスに更新され、解析されたオブジェクトが返されます。 更新されたposは、このメソッドの次の呼出しの開始点を示すのに使用できます。 エラーが発生した場合、posのインデックスは変更されず、posのエラー・インデックスはエラーが発生した文字のインデックスに設定され、nullが返されます。- 定義:
parseObject、クラスFormat- 実装要件:
- この実装は、
parse(source, pos)のコールと同等です。 - パラメータ:
source- 解析するStringpos- 上記のインデックスおよびエラー・インデックス情報を持つParsePositionオブジェクト- 戻り値:
- 文字列から解析される
Number。 エラーの場合はnullを返す。 - 例外:
NullPointerException-sourceまたはposがnullであるかどうか。
-
format
public final String format(double number) フォーマットの特殊化です。- パラメータ:
number- フォーマットするdouble数値- 戻り値:
- フォーマットされたString
- 例外:
ArithmeticException- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
-
format
public final String format(long number) フォーマットの特殊化です。- パラメータ:
number- フォーマットするlong数値- 戻り値:
- フォーマットされたString
- 例外:
ArithmeticException- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
-
format
public abstract StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) フォーマットの特殊化です。- パラメータ:
number- フォーマットするdouble数値toAppendTo- フォーマット後のテキストを付加するStringBufferpos- 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールで数値1234567.89を書式設定する場合、指定されたfieldPositionがINTEGER_FIELDの場合、出力文字列1,234,567.89では、fieldPositionの開始索引および終了索引がそれぞれ0および9に設定されます。- 戻り値:
- フォーマットされたStringBuffer
- 例外:
ArithmeticException- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
-
format
public abstract StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) フォーマットの特殊化です。- パラメータ:
number- フォーマットするlong数値toAppendTo- フォーマット後のテキストを付加するStringBufferpos- 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールの数値123456789を書式設定する場合、指定されたfieldPositionがINTEGER_FIELDの場合、出力文字列123,456,789では、fieldPositionの開始索引および終了索引がそれぞれ0および11に設定されます。- 戻り値:
- フォーマットされたStringBuffer
- 例外:
ArithmeticException- 丸め処理が必要な場合に丸めモードがRoundingMode.UNNECESSARYに設定されているとき- 関連項目:
-
parse
public abstract Number parse(String source, ParsePosition parsePosition) 指定された文字列の先頭からテキストを解析して、Numberを生成します。このメソッドは、
ParsePositionで指定されたインデックスから始まるテキストを解析しようとします。 解析が成功すると、ParsePositionの索引は、最後に(解析では、必ずしも文字列の末尾までのすべての文字が使用されるわけではありません。)が使用された文字の後に索引に更新され、解析された番号が返されます。 更新されたParsePositionは、このメソッドへの次のコールの開始点を示すために使用できます。 エラーが発生した場合、ParsePositionの索引は変更されず、ParsePositionのエラー索引はエラーが発生した文字の索引に設定され、nullが返されます。このメソッドは、可能な場合はLongを(たとえば、[Long.MIN_VALUE, Long.MAX_VALUE]の範囲内および小数なし)、それ以外の場合はDoubleを返します。
- パラメータ:
source- 解析するStringparsePosition- 前述の索引およびエラー索引情報を含むParsePositionオブジェクト。- 戻り値:
- 文字列から解析される
Number。 失敗した場合は、nullを返します。 - 例外:
NullPointerException-sourceまたはParsePositionがnullの場合。- 関連項目:
-
parse
public Number parse(String source) throws ParseException 指定された文字列の先頭からテキストを解析して、Numberを生成します。このメソッドは、可能な場合はLongを(たとえば、[Long.MIN_VALUE, Long.MAX_VALUE]の範囲内および小数なし)、それ以外の場合はDoubleを返します。
- パラメータ:
source- 最初から解析されるString。- 戻り値:
- 文字列から解析される
Number。 - 例外:
ParseException- 解析に失敗した場合NullPointerException-sourceがnullの場合。- 関連項目:
-
isParseIntegerOnly
public boolean isParseIntegerOnly()このフォーマットが数値を整数としてのみ解析する場合に、trueを返します。 たとえば、英語ロケールでParseIntegerOnlyがtrueであれば、文字列"1234."は、整数値1234として解析され、解析は文字"."で止まります。 もちろん、解析操作で受け入れられる正確な形式はロケールに依存し、NumberFormatのサブクラスによって決まります。- 戻り値:
- 数値を整数としてのみ解析する場合は
true、そうでない場合はfalse
-
setParseIntegerOnly
public void setParseIntegerOnly(boolean value) 数値を整数としてのみ解析するかどうかを設定します。- パラメータ:
value- 数値を整数としてのみ解析する場合はtrue、そうでない場合はfalse- 関連項目:
-
isStrict
public boolean isStrict()この書式で数値が厳密に解析される場合はtrue、それ以外の場合はfalseを返します。- 実装要件:
- デフォルトの実装では、常に
UnsupportedOperationExceptionがスローされます。 サブクラスは、厳密な解析を実装するときにこのメソッドをオーバーライドする必要があります。 - 戻り値:
- この書式で番号が厳密に解析される場合は
true、それ以外の場合はfalse - 例外:
UnsupportedOperationException- このメソッドの実装がこの操作をサポートしない場合- 導入されたバージョン:
- 23
- 関連項目:
-
setStrict
public void setStrict(boolean strict) 解析する非厳密値を変更します。 解析は厳密でも非厳密でもかまいません。デフォルトでは非厳密です。- 実装要件:
- デフォルトの実装では、常に
UnsupportedOperationExceptionがスローされます。 サブクラスは、厳密な解析を実装するときにこのメソッドをオーバーライドする必要があります。 - パラメータ:
strict- 解析を厳密に実行する場合はtrue、それ以外の場合はfalse- 例外:
UnsupportedOperationException- このメソッドの実装がこの操作をサポートしない場合- 導入されたバージョン:
- 23
- 関連項目:
-
getInstance
public static final NumberFormat getInstance()現在のデフォルトのFORMATロケールに対する汎用数値フォーマットを返します。 これは、getNumberInstance()を呼び出すのと同じです。- 戻り値:
- 汎用の数値書式の
NumberFormatインスタンス
-
getInstance
public static NumberFormat getInstance(Locale inLocale) 指定されたロケールに対する汎用数値フォーマットを返します。 これは、getNumberInstance(inLocale)を呼び出すのと同じです。- パラメータ:
inLocale- 目的のロケール- 戻り値:
- 汎用の数値書式の
NumberFormatインスタンス
-
getNumberInstance
public static final NumberFormat getNumberInstance()現在のデフォルトのFORMATロケールに対する汎用数値フォーマットを返します。これは、
getNumberInstance(Locale.getDefault(Locale.Category.FORMAT))の呼び出しと同等です。- 戻り値:
- 汎用の数値書式の
NumberFormatインスタンス - 関連項目:
-
getNumberInstance
public static NumberFormat getNumberInstance(Locale inLocale) 指定されたロケールに対する汎用数値フォーマットを返します。- パラメータ:
inLocale- 目的のロケール- 戻り値:
- 汎用の数値書式の
NumberFormatインスタンス
-
getIntegerInstance
public static final NumberFormat getIntegerInstance()現在のデフォルトのFORMATロケールに対する整数型数値フォーマットを返します。 返された数値フォーマットは、フォーマットするために、最近値方向への丸めモード(RoundingMode.HALF_EVENを参照)を使って、浮動小数点数値をもっとも近い整数値に丸め、入力文字列の整数部分だけを解析する(isParseIntegerOnlyを参照)ように設定されます。これは、
getIntegerInstance(Locale.getDefault(Locale.Category.FORMAT))の呼び出しと同等です。- 戻り値:
- 整数値に対する数値フォーマット
- 導入されたバージョン:
- 1.4
- 関連項目:
-
getIntegerInstance
public static NumberFormat getIntegerInstance(Locale inLocale) 指定されたロケールに対する整数型数値フォーマットを返します。 返された数値フォーマットは、フォーマットするために、最近値方向への丸めモード(RoundingMode.HALF_EVENを参照)を使って、浮動小数点数値をもっとも近い整数値に丸め、入力文字列の整数部分だけを解析する(isParseIntegerOnlyを参照)ように設定されます。- パラメータ:
inLocale- 目的のロケール- 戻り値:
- 整数値に対する数値フォーマット
- 導入されたバージョン:
- 1.4
- 関連項目:
-
getCurrencyInstance
public static final NumberFormat getCurrencyInstance()現在のデフォルトのFORMATロケールに対する通貨フォーマットを返します。これは、
getCurrencyInstance(Locale.getDefault(Locale.Category.FORMAT))の呼び出しと同等です。- 戻り値:
- 通貨の書式の
NumberFormatインスタンス - 関連項目:
-
getCurrencyInstance
public static NumberFormat getCurrencyInstance(Locale inLocale) 指定されたロケールに対する通貨フォーマットを返します。指定されたロケールに"
cf" (「通貨書式スタイル」) 「Unicode拡張」が含まれている場合、戻す通貨書式では、スタイルが使用されます(使用可能な場合)。 それ以外の場合は、スタイルでデフォルトの"standard"通貨書式が使用されます。 たとえば、スタイルで"account"が指定されている場合、負の通貨金額では、一部のロケールでカッコのペアが使用されます。- パラメータ:
inLocale- 目的のロケール- 戻り値:
- 通貨の書式の
NumberFormatインスタンス - 外部仕様
-
getPercentInstance
public static final NumberFormat getPercentInstance()現在のデフォルトのFORMATロケールに対するパーセント・フォーマットを返します。これは、
getPercentInstance(Locale.getDefault(Locale.Category.FORMAT))の呼び出しと同等です。- 戻り値:
- パーセントの書式の
NumberFormatインスタンス - 関連項目:
-
getPercentInstance
public static NumberFormat getPercentInstance(Locale inLocale) 指定されたロケールに対するパーセント・フォーマットを返します。- パラメータ:
inLocale- 目的のロケール- 戻り値:
- パーセントの書式の
NumberFormatインスタンス
-
getCompactNumberInstance
public static NumberFormat getCompactNumberInstance()- 戻り値:
- コンパクト数値書式設定のための
NumberFormatインスタンス - 導入されたバージョン:
- 12
- 関連項目:
-
getCompactNumberInstance
public static NumberFormat getCompactNumberInstance(Locale locale, NumberFormat.Style formatStyle) 指定されたlocaleおよびformatStyleに対してコンパクトな数値形式を返します。- パラメータ:
locale- 目的のロケールformatStyle- 数値の書式設定用のスタイル- 戻り値:
- コンパクト数値書式設定のための
NumberFormatインスタンス - 例外:
NullPointerException-localeまたはformatStyleがnullの場合- 導入されたバージョン:
- 12
- 関連項目:
-
getAvailableLocales
public static Locale[] getAvailableLocales()このクラスのget*Instanceメソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。 返される配列は、JavaランタイムおよびインストールされているNumberFormatProvider実装によってサポートされているロケールの和集合を表します。 少なくとも、返される配列には、Locale.ROOTに等しいLocaleインスタンスと、Locale.USに等しいLocaleインスタンスが含まれている必要があります。- 戻り値:
- ローカライズされた
NumberFormatインスタンスを使用可能なロケールの配列。
-
hashCode
public int hashCode()このNumberFormatのハッシュ・コードを返します。- オーバーライド:
hashCode、クラスObject- 実装要件:
- このメソッドは、
getMaximumIntegerDigits()およびgetMaximumFractionDigits()によって返される値を使用してハッシュ・コード値を計算します。 - 戻り値:
- この
NumberFormatのハッシュ・コード - 関連項目:
-
equals
public boolean equals(Object obj) 指定されたオブジェクトをこのNumberFormatと比較し、等しいかどうかを確認します。 オブジェクトがNumberFormatでもあり、2つの書式で値が同じ書式である場合、trueを返します。 -
clone
-
isGroupingUsed
public boolean isGroupingUsed()このフォーマットでグループ化が使用される場合に、trueを返します。 たとえば、英語ロケールでグループ化がオンのとき、数値1234567は、"1,234,567"のようにフォーマットされます。 グループ化セパレータと各グループのサイズはロケールに依存し、NumberFormatのサブクラスによって決まります。- 戻り値:
- グループ化を使用している場合は
true、そうでない場合はfalse - 関連項目:
-
setGroupingUsed
public void setGroupingUsed(boolean newValue) このフォーマットでグループ化を使用するかどうかを設定します。- パラメータ:
newValue- グループ化を使用している場合はtrue、そうでない場合はfalse- 関連項目:
-
getMaximumIntegerDigits
public int getMaximumIntegerDigits()数値の整数部分として可能な最大桁数を返します。- 戻り値:
- 最大桁数
- 関連項目:
-
setMaximumIntegerDigits
public void setMaximumIntegerDigits(int newValue) 数値の整数部分で許可される最大桁数を設定します。maximumIntegerDigitsは、minimumIntegerDigits以上である必要があります。 maximumIntegerDigitsの新しい値がmaximumIntegerDigitsの現在の値よりも小さい場合、minimumIntegerDigitsもこの新しい値に設定されます。- パラメータ:
newValue- 整数の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
-
getMinimumIntegerDigits
public int getMinimumIntegerDigits()数値の整数部分として可能な最小桁数を返します。- 戻り値:
- 最小桁数
- 関連項目:
-
setMinimumIntegerDigits
public void setMinimumIntegerDigits(int newValue) 数値の整数部分で許可される最小桁数を返します。minimumIntegerDigitsは、maximumIntegerDigits以下である必要があります。 minimumIntegerDigitsの新しい値がmaximumIntegerDigitsの現在の値よりも大きい場合、maximumIntegerDigitsもこの新しい値に設定されます。- パラメータ:
newValue- 整数の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
-
getMaximumFractionDigits
public int getMaximumFractionDigits()数値の小数部分として可能な最大桁数を返します。- 戻り値:
- 最大桁数。
- 関連項目:
-
setMaximumFractionDigits
public void setMaximumFractionDigits(int newValue) 数値の小数部分で許可される最大桁数を設定します。maximumFractionDigitsは、minimumFractionDigits以上である必要があります。 maximumFractionDigitsの新しい値がminimumFractionDigitsの現在の値よりも小さい場合、minimumFractionDigitsもこの新しい値に設定されます。- パラメータ:
newValue- 小数部の最大表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
-
getMinimumFractionDigits
public int getMinimumFractionDigits()数値の小数部分として可能な最小桁数を返します。- 戻り値:
- 最小桁数
- 関連項目:
-
setMinimumFractionDigits
public void setMinimumFractionDigits(int newValue) 数値の小数部分で許可される最小桁数を設定します。minimumFractionDigitsは、maximumFractionDigits以下である必要があります。 minimumFractionDigitsの新しい値がmaximumFractionDigitsの現在の値を超える場合、maximumFractionDigitsも新しい値に設定されます。- パラメータ:
newValue- 小数部の最小表示桁数。0より小さい場合は0が使用される。 具象サブクラスでは、この値の上限を、フォーマットされる数値の種類に適した値に強制できる。- 関連項目:
-
getCurrency
public Currency getCurrency()通貨値のフォーマット時に、この数値フォーマットが使用する通貨を取得します。 初期値はロケールに依存する方法で得られます。 有効な通貨を決定できず、setCurrency(Currency)を使用して通貨が設定されていない場合、戻り値はnullになります。- 実装要件:
- デフォルトの実装では、常に
UnsupportedOperationExceptionがスローされます。 通貨書式が必要な場合は、サブクラスでこのメソッドをオーバーライドする必要があります。 - 戻り値:
- この数値フォーマットで使用される通貨、または
null - 例外:
UnsupportedOperationException- このメソッドの実装がこの操作をサポートしない場合- 導入されたバージョン:
- 1.4
-
setCurrency
public void setCurrency(Currency currency) 通貨値のフォーマット時に、この数値フォーマットが使用する通貨を設定します。 これは、数値フォーマットが使用する最小小数桁数または最大小数桁数を更新するものではありません。- 実装要件:
- デフォルトの実装では、常に
UnsupportedOperationExceptionがスローされます。 通貨書式が必要な場合は、サブクラスでこのメソッドをオーバーライドする必要があります。 - パラメータ:
currency- この数値フォーマットで使用する新しい通貨- 例外:
NullPointerException-currencyがnullの場合UnsupportedOperationException- このメソッドの実装がこの操作をサポートしない場合- 導入されたバージョン:
- 1.4
-
getRoundingMode
public RoundingMode getRoundingMode()このNumberFormatで使用されるRoundingModeを取得します。- 実装要件:
- デフォルトの実装では、常に
UnsupportedOperationExceptionがスローされます。 さまざまな丸めモードを処理するサブクラスは、このメソッドをオーバーライドする必要があります。 - 戻り値:
- このNumberFormatに使用される
RoundingMode。 - 例外:
UnsupportedOperationException- このメソッドの実装がこの操作をサポートしない場合- 導入されたバージョン:
- 1.6
- 関連項目:
-
setRoundingMode
public void setRoundingMode(RoundingMode roundingMode) このNumberFormatで使用されるRoundingModeを設定します。- 実装要件:
- デフォルトの実装では、常に
UnsupportedOperationExceptionがスローされます。 さまざまな丸めモードを処理するサブクラスは、このメソッドをオーバーライドする必要があります。 - パラメータ:
roundingMode- 使用されるRoundingMode- 例外:
NullPointerException-roundingModeがnullの場合UnsupportedOperationException- このメソッドの実装がこの操作をサポートしない場合- 導入されたバージョン:
- 1.6
- 関連項目:
-