クラスNumberFormat

java.lang.Object
java.text.Format
java.text.NumberFormat
すべての実装されたインタフェース:
Serializable, Cloneable
直系の既知のサブクラス:
ChoiceFormat, CompactNumberFormat, DecimalFormat

public abstract class NumberFormat extends Format
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"の両方が指定されている 合、"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であるとはかぎりません。

さらに、parseformatメソッドの形式をParsePositionFieldPositionとともに使用すれば、次のことが可能です。

  • 文字列の一部を 次解析
  • 小数点とその他の 域の整列
たとえば、複数の数値を2つの方法で位置合わせすることができます。
  1. モノスペース・フォントを使い、位置合わせにスペースを入れる 合には、フォーマット呼出しでFieldPositionを渡すことができます。このとき、field = INTEGER_FIELDとします。 出力では、getEndIndexが、整数の最後の文字と小数点の間のオフセットに設定されます。 文字列の前に(desiredSpaceCount - getEndIndex)のスペースを追 してく さい。
  2. プロポーショナル・フォントを使う 合には、スペースを追 する代わりに、文字列の幅をその始めから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パラメータ処理 デフォルトRoundingMode
  • デフォルトの実装では、数値の書式設定のためにRoundingModeで定義された丸めモードが提供されます。 「ラウンド半偶数アルゴリズ 」を使用します。 丸めモードを変更するには、setRoundingModeを使用します。 静的ファクトリ・メソッドによって返されたNumberFormatは、書式構成のために半角丸め(RoundingMode.HALF_EVENを参照してく さい)を使用して浮動小数点数を丸めるように構成されています。
導入されたバージョン:
1.1
外部仕様
関連 目:
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static class 
    NumberFormat.formatToCharacterIteratorから返されたAttributedCharacterIterator内の属性キー、およびFieldPosition内のフィールド識別子として使用する定数を定義します。
    static enum 
    数値書式設定スタイル。
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    FieldPositionオブジェクトを構築するためのフィールド定数です。
    static final int
    FieldPositionオブジェクトを構築するためのフィールド定数です。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    唯一のコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    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メソッドがローカライズされたインスタンスを返すことのできるロケールすべての配列を返します。
    "SHORT"書式設定スタイルのデフォルトFORMATロケールに対してコンパクト数値書式設定を返します。
    指定されたlocaleおよびformatStyleに対してコンパクトな数値形式を返します。
    通貨値のフォーマット時に、この数値フォーマットが使用する通貨を取得します。
    static final NumberFormat
    現在のデフォルトのFORMATロケールに対する通貨フォーマットを返します。
    指定されたロケールに対する通貨フォーマットを返します。
    static final NumberFormat
    現在のデフォルトのFORMATロケールに対する汎用数値フォーマットを返します。
    getInstance(Locale inLocale)
    指定されたロケールに対する汎用数値フォーマットを返します。
    static final NumberFormat
    現在のデフォルトのFORMATロケールに対する整数型数値フォーマットを返します。
    指定されたロケールに対する整数型数値フォーマットを返します。
    int
    数値の小数部分として可能な最大桁数を返します。
    int
    数値の整数部分として可能な最大桁数を返します。
    int
    数値の小数部分として可能な最小桁数を返します。
    int
    数値の整数部分として可能な最小桁数を返します。
    static final NumberFormat
    現在のデフォルトのFORMATロケールに対する汎用数値フォーマットを返します。
    指定されたロケールに対する汎用数値フォーマットを返します。
    static final NumberFormat
    現在のデフォルトのFORMATロケールに対するパーセント・フォーマットを返します。
    指定されたロケールに対するパーセント・フォーマットを返します。
    このNumberFormatで使用されるRoundingModeを取得します。
    int
    このNumberFormatのハッシュ・コードを返します。
    boolean
    このフォーマットでグループ化が使用される 合に、trueを返します。
    boolean
    この書式で数値のみが整数として解析される 合、trueを返します。
    boolean
    この書式で数値が厳密に解析される 合はtrue、それ以外の 合はfalseを返します。
    parse(String source)
    指定された文字列の先 からテキストを解析して、Numberを生成します。
    abstract Number
    parse(String source, ParsePosition parsePosition)
    指定された文字列の先 からテキストを解析して、Numberを生成します。
    final Object
    指定された文字列からテキストを解析してオブジェクトを生成します。
    void
    通貨値のフォーマット時に、この数値フォーマットが使用する通貨を設定します。
    void
    setGroupingUsed(boolean newValue)
    このフォーマットでグループ化を使用するかどうかを設定します。
    void
    数値の小数部分で許可される最大桁数を設定します。maximumFractionDigitsは、minimumFractionDigits以上である必要があります。
    void
    数値の整数部分で許可される最大桁数を設定します。maximumIntegerDigitsは、minimumIntegerDigits以上である必要があります。
    void
    数値の小数部分で許可される最小桁数を設定します。minimumFractionDigitsは、maximumFractionDigits以下である必要があります。
    void
    数値の整数部分で許可される最小桁数を返します。minimumIntegerDigitsは、maximumIntegerDigits以下である必要があります。
    void
    setParseIntegerOnly(boolean value)
    数値を整数としてのみ解析するかどうかを設定します。
    void
    このNumberFormatで使用されるRoundingModeを設定します。
    void
    setStrict(boolean strict)
    解析する非厳密値を変更します。

    クラスjava.text.Formatで宣言されたメソッド

    format, formatToCharacterIterator, parseObject

    クラスjava.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • INTEGER_FIELD

      public static final int INTEGER_FIELD
      FieldPositionオブジェクトを構築するためのフィールド定数です。 フォーマットされた数値の整数部分の位置を返すように指定します。
      関連 目:
    • FRACTION_FIELD

      public static final int FRACTION_FIELD
      FieldPositionオブジェクトを構築するためのフィールド定数です。 フォーマットされた数値の小数部分の位置を返すように指定します。
      関連 目:
  • コンストラクタの詳細

    • 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を書式設定する 合、指定されたfieldPositionINTEGER_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 - フォーマット後のテキストを付 するStringBuffer
      pos - 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールで数値1234567.89を書式設定する 合、指定されたfieldPositionINTEGER_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 - フォーマット後のテキストを付 するStringBuffer
      pos - 返された文字列内のフィールドの位置を追跡します。 たとえば、Locale.USロケールの数値123456789を書式設定する 合、指定されたfieldPositionINTEGER_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またはParsePositionnullの 合。
      関連 目:
    • parse

      public Number parse(String source) throws ParseException
      指定された文字列の先 からテキストを解析して、Numberを生成します。

      このメソッドは、可能な 合はLongを(たとえば、[Long.MIN_VALUE, Long.MAX_VALUE]の範囲内および小数なし)、それ以外の 合はDoubleを返します。

      パラメータ:
      source - 最初から解析されるString
      戻り値:
      文字列から解析されるNumber
      スロー:
      ParseException - 解析に失敗した 合
      NullPointerException - sourcenullの 合。
      関連 目:
    • isParseIntegerOnly

      public boolean isParseIntegerOnly()
      この書式で数値のみが整数として解析される 合、trueを返します。 ParsePosition索引は、小数点記号の位置に設定されます。 解析操作で受け入れられる正確な形式は、ロケールに依存します。 たとえば、英語ロケールでは、ParseIntegerOnlyがtrueの 合、文字列"123.45"は整数値123として解析されます。
      戻り値:
      数値を整数としてのみ解析する 合は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()
      "SHORT"書式設定スタイルのデフォルトFORMATロケールに対してコンパクト数値書式設定を返します。
      戻り値:
      コンパクト数値書式設定のためのNumberFormatインスタンス
      導入されたバージョン:
      12
      関連 目:
    • getCompactNumberInstance

      public static NumberFormat getCompactNumberInstance(Locale locale, NumberFormat.Style formatStyle)
      指定されたlocaleおよびformatStyleに対してコンパクトな数値形式を返します。
      パラメータ:
      locale - 目的のロケール
      formatStyle - 数値の書式設定用のスタイル
      戻り値:
      コンパクト数値書式設定のためのNumberFormatインスタンス
      スロー:
      NullPointerException - localeまたはformatStylenullの 合
      導入されたバージョン:
      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を返します。
      オーバーライド:
      equals、クラスObject
      実装要件:
      このメソッドは、instanceofではなく、getClass()に基づくクラス・アイデンティティの概念を使用して等価チェックを実行します。 したがって、サブクラスのequalsメソッドでは、このクラスのインスタンスはサブクラスのインスタンスと等しく比較されません。
      パラメータ:
      obj - 等価性のために比較されるオブジェクト
      戻り値:
      指定されたオブジェクトがこのNumberFormatと等しい 合はtrue
      関連 目:
    • clone

      public Object clone()
      Cloneableをオーバーライドします。
      オーバーライド:
      clone、クラスFormat
      戻り値:
      このインスタンスの複製。
      関連 目:
    • 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 - currencynullの 合
      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 - roundingModenullの 合
      UnsupportedOperationException - このメソッドの実装がこの操作をサポートしない 合
      導入されたバージョン:
      1.6
      関連 目: