クラス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 class
NumberFormat.formatToCharacterIterator
から返されたAttributedCharacterIterator
内の属性キー、およびFieldPosition
内のフィールド識別子として使用する定数を定義します。static enum
数値書式設定スタイル。 -
フィールドのサマリー
フィールド修飾子と型フィールド説明static final int
FieldPositionオブジェクトを構築するためのフィールド定数です。static final int
FieldPositionオブジェクトを構築するためのフィールド定数です。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明clone()
Cloneableをオーバーライドします。boolean
指定されたオブジェクトをこのNumberFormat
と比較し、等しいかどうかを確認します。final String
format
(double number) フォーマットの特殊化です。abstract StringBuffer
format
(double number, StringBuffer toAppendTo, FieldPosition pos) フォーマットの特殊化です。final String
format
(long number) フォーマットの特殊化です。abstract StringBuffer
format
(long number, StringBuffer toAppendTo, FieldPosition pos) フォーマットの特殊化です。format
(Object number, StringBuffer toAppendTo, FieldPosition pos) 数値をフォーマットし、その結果のテキストを指定された文字列バッファに追加します。static Locale[]
このクラスのget*Instance
メソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。static NumberFormat
static NumberFormat
getCompactNumberInstance
(Locale locale, NumberFormat.Style formatStyle) 指定されたlocale
およびformatStyle
に対してコンパクトな数値形式を返します。通貨値のフォーマット時に、この数値フォーマットが使用する通貨を取得します。static final NumberFormat
現在のデフォルトのFORMAT
ロケールに対する通貨フォーマットを返します。static NumberFormat
getCurrencyInstance
(Locale inLocale) 指定されたロケールに対する通貨フォーマットを返します。static final NumberFormat
現在のデフォルトのFORMAT
ロケールに対する汎用数値フォーマットを返します。static NumberFormat
getInstance
(Locale inLocale) 指定されたロケールに対する汎用数値フォーマットを返します。static final NumberFormat
現在のデフォルトのFORMAT
ロケールに対する整数型数値フォーマットを返します。static NumberFormat
getIntegerInstance
(Locale inLocale) 指定されたロケールに対する整数型数値フォーマットを返します。int
数値の小数部分として可能な最大桁数を返します。int
数値の整数部分として可能な最大桁数を返します。int
数値の小数部分として可能な最小桁数を返します。int
数値の整数部分として可能な最小桁数を返します。static final NumberFormat
現在のデフォルトのFORMAT
ロケールに対する汎用数値フォーマットを返します。static NumberFormat
getNumberInstance
(Locale inLocale) 指定されたロケールに対する汎用数値フォーマットを返します。static final NumberFormat
現在のデフォルトのFORMAT
ロケールに対するパーセント・フォーマットを返します。static NumberFormat
getPercentInstance
(Locale inLocale) 指定されたロケールに対するパーセント・フォーマットを返します。このNumberFormatで使用されるRoundingMode
を取得します。int
hashCode()
このNumberFormat
のハッシュ・コードを返します。boolean
このフォーマットでグループ化が使用される場合に、trueを返します。boolean
このフォーマットが数値を整数としてのみ解析する場合に、trueを返します。boolean
isStrict()
この書式で数値が厳密に解析される場合はtrue
、それ以外の場合はfalse
を返します。指定された文字列の先頭からテキストを解析して、Number
を生成します。abstract Number
parse
(String source, ParsePosition parsePosition) 指定された文字列の先頭からテキストを解析して、Number
を生成します。final Object
parseObject
(String source, ParsePosition pos) 指定された文字列からテキストを解析してオブジェクトを生成します。void
setCurrency
(Currency currency) 通貨値のフォーマット時に、この数値フォーマットが使用する通貨を設定します。void
setGroupingUsed
(boolean newValue) このフォーマットでグループ化を使用するかどうかを設定します。void
setMaximumFractionDigits
(int newValue) 数値の小数部分で許可される最大桁数を設定します。maximumFractionDigitsは、minimumFractionDigits以上である必要があります。void
setMaximumIntegerDigits
(int newValue) 数値の整数部分で許可される最大桁数を設定します。maximumIntegerDigitsは、minimumIntegerDigits以上である必要があります。void
setMinimumFractionDigits
(int newValue) 数値の小数部分で許可される最小桁数を設定します。minimumFractionDigitsは、maximumFractionDigits以下である必要があります。void
setMinimumIntegerDigits
(int newValue) 数値の整数部分で許可される最小桁数を返します。minimumIntegerDigitsは、maximumIntegerDigits以下である必要があります。void
setParseIntegerOnly
(boolean value) 数値を整数としてのみ解析するかどうかを設定します。void
setRoundingMode
(RoundingMode roundingMode) このNumberFormatで使用されるRoundingMode
を設定します。void
setStrict
(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
- フォーマット後のテキストを追加するStringBuffer
pos
- 返された文字列内のフィールドの位置を追跡します。 たとえば、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
- 解析するString
pos
- 上記のインデックスおよびエラー・インデックス情報を持つ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
- 解析するString
parsePosition
- 前述の索引およびエラー索引情報を含む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
- 関連項目:
-