クラス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を返します。 たとえば、英語ロケールで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()
      "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
      関連項目: