言語

ChoiceFormat クラス

定義

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

[Android.Runtime.Register("java/text/ChoiceFormat", DoNotGenerateAcw=true)]
public class ChoiceFormat : Java.Text.NumberFormat
[<Android.Runtime.Register("java/text/ChoiceFormat", DoNotGenerateAcw=true)>]
type ChoiceFormat = class
    inherit NumberFormat
継承
属性

注釈

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。 これは、一般的に複数形を処理するための MessageFormat で使用されます。 選択肢は double の昇順リストで指定され、各項目は次の項目である <blockquote までの半開き間隔を指定します。>

X matches j if and only if limit[j] &le; X &lt; limit[j+1]

</blockquote> 一致しない場合は、数値 (X) が低すぎるか高すぎるかに応じて、最初または最後のインデックスが使用されます。 制限配列が昇順でない場合、書式設定の結果が正しくありません。 ChoiceFormat では、infinity(INF) と同等の &#92;u221E も受け入れます。

<strong>Note:</strong>ChoiceFormatは、コンストラクターを使用してFormatオブジェクトを作成するという点で、他のChoiceFormatクラスとは異なります (getInstance スタイルのファクトリ メソッドを使用しない)。 ChoiceFormatでは特定のロケールの複雑なセットアップが必要ないため、ファクトリ メソッドは必要ありません。 実際、 ChoiceFormat はロケール固有の動作を実装していません。

ChoiceFormatを作成するときは、書式の配列と制限の配列を指定する必要があります。 これらの配列の長さは同じである必要があります。 For example, <ul><li><em>limits</em> = {1,2,3,4,5,6,7}<br><em>formats</em> = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}<li><em>limits</em> = {0, 1, ChoiceFormat.nextDouble(1)}<br><em>formats</em> = {"no files", "one file", "many files"}<br> (nextDouble can be used to get the next higher double, to make the half-open interval.) </ul>

書式設定と解析を示す簡単な例を次に示します。 <blockquote>

{@code
            double[] limits = {1,2,3,4,5,6,7};
            String[] dayOfWeekNames = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"};
            ChoiceFormat form = new ChoiceFormat(limits, dayOfWeekNames);
            ParsePosition status = new ParsePosition(0);
            for (double i = 0.0; i <= 8.0; ++i) {
                status.setIndex(0);
                System.out.println(i + " -> " + form.format(i) + " -> "
                                         + form.parse(form.format(i),status));
            }
            }

</blockquote> パターン形式のより複雑な例を次に示します: <blockquote>

{@code
            double[] filelimits = {0,1,2};
            String[] filepart = {"are no files","is one file","are {2} files"};
            ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
            Format[] testFormats = {fileform, null, NumberFormat.getInstance()};
            MessageFormat pattform = new MessageFormat("There {0} on {1}");
            pattform.setFormats(testFormats);
            Object[] testArgs = {null, "ADisk", null};
            for (int i = 0; i < 4; ++i) {
                testArgs[0] = new Integer(i);
                testArgs[2] = testArgs[0];
                System.out.println(pattform.format(testArgs));
            }
            }

</blockquote>

ChoiceFormat オブジェクトのパターンの指定は非常に簡単です。 例: <blockquote>

{@code
            ChoiceFormat fmt = new ChoiceFormat(
                 "-1#is negative| 0#is zero or fraction | 1#is one |1.0<is 1+ |2#is two |2<is more than 2.");
            System.out.println("Formatter Pattern : " + fmt.toPattern());

            System.out.println("Format with -INF : " + fmt.format(Double.NEGATIVE_INFINITY));
            System.out.println("Format with -1.0 : " + fmt.format(-1.0));
            System.out.println("Format with 0 : " + fmt.format(0));
            System.out.println("Format with 0.9 : " + fmt.format(0.9));
            System.out.println("Format with 1.0 : " + fmt.format(1));
            System.out.println("Format with 1.5 : " + fmt.format(1.5));
            System.out.println("Format with 2 : " + fmt.format(2));
            System.out.println("Format with 2.1 : " + fmt.format(2.1));
            System.out.println("Format with NaN : " + fmt.format(Double.NaN));
            System.out.println("Format with +INF : " + fmt.format(Double.POSITIVE_INFINITY));
            }

</blockquote> 出力結果は次のようになります: <blockquote>

{@code
            Format with -INF : is negative
            Format with -1.0 : is negative
            Format with 0 : is zero or fraction
            Format with 0.9 : is zero or fraction
            Format with 1.0 : is one
            Format with 1.5 : is 1+
            Format with 2 : is two
            Format with 2.1 : is more than 2.
            Format with NaN : is negative
            Format with +INF : is more than 2.
            }

</blockquote>

<h2>"synchronization">Synchronization</h2>

選択肢の形式は同期されません。 スレッドごとに個別のフォーマット インスタンスを作成することをお勧めします。 複数のスレッドが同時に形式にアクセスする場合は、外部で同期する必要があります。

1.1 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
ChoiceFormat(Double[], String[])

制限と対応する形式を持つコンストラクト。

ChoiceFormat(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

ChoiceFormat(String)

パターンに基づいて制限と対応する形式を持つコンストラクト。

フィールド

名前 説明
FractionField

FieldPosition オブジェクトの構築に使用される Field 定数。

(継承元 NumberFormat)
IntegerField

FieldPosition オブジェクトの構築に使用される Field 定数。

(継承元 NumberFormat)

プロパティ

名前 説明
Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Currency

通貨値を書式設定するときに、この数値形式で使用される通貨を取得します。 または、通貨値を書式設定するときに、この数値書式で使用される通貨を設定します。

(継承元 NumberFormat)
GroupingUsed

グループ化がこの形式で使用されている場合は true を返します。 または、グループ化をこの形式で使用するかどうかを設定します。

(継承元 NumberFormat)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
JniPeerMembers

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

MaximumFractionDigits

数値の分数部分で許容される最大桁数を返します。 または、数値の分数部分で許容される最大桁数を設定します。

(継承元 NumberFormat)
MaximumIntegerDigits

数値の整数部分で許容される最大桁数を返します。 または、数値の整数部分で許容される最大桁数を設定します。

(継承元 NumberFormat)
MinimumFractionDigits

数値の分数部分で許容される最小桁数を返します。 または、数値の分数部分で許容される最小桁数を設定します。

(継承元 NumberFormat)
MinimumIntegerDigits

数値の整数部分で許容される最小桁数を返します。 または、数値の整数部分で許容される最小桁数を設定します。

(継承元 NumberFormat)
ParseIntegerOnly

この形式で数値を整数としてのみ解析する場合は true を返します。 または、数値を整数としてのみ解析するかどうかを設定します。

(継承元 NumberFormat)
PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
RoundingMode

この NumberFormat で使用される java.math.RoundingMode を取得します。 または、この NumberFormat で使用される java.math.RoundingMode を設定します。

(継承元 NumberFormat)
ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

名前 説明
ApplyPattern(String)

パターンを設定します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 _Format)
Construct(JniObjectReference, JniObjectReferenceOptions)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
Equals(Object)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
Format(Double, StringBuffer, FieldPosition)

double 形式のパターンを返します。

Format(Double)

形式の特殊化。

(継承元 NumberFormat)
Format(Int64, StringBuffer, FieldPosition)

形式の特殊化。

Format(Int64)

形式の特殊化。

(継承元 NumberFormat)
Format(Object, StringBuffer, FieldPosition)

数値を書式設定し、結果のテキストを指定された文字列バッファーに追加します。

(継承元 NumberFormat)
Format(Object)

文字列を生成するオブジェクトを書式設定します。

(継承元 _Format)
FormatToCharacterIterator(Object)

AttributedCharacterIteratorを生成するオブジェクトを書式設定します。

(継承元 _Format)
GetFormats()

この ChoiceFormatの範囲に関連付けられている文字列を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetLimits()

この ChoiceFormatの制限を返します。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
NextDouble(Double, Boolean)

dを超える最小倍精度浮動小数点型 (positivetrueの場合) またはdより大きい倍精度浮動小数点型 (positivefalseの場合) を検索します。

NextDouble(Double)

dを超える最小倍精度浮動小数点型を検索します。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Parse(String, ParsePosition)

入力テキストから数値を解析します。

Parse(String)

指定した文字列の先頭からテキストを解析して、数値を生成します。

(継承元 NumberFormat)
ParseObject(String, ParsePosition)

文字列からテキストを解析して、 Numberを生成します。

(継承元 NumberFormat)
ParseObject(String)

指定された文字列の先頭からテキストを解析して、オブジェクトを生成します。

(継承元 _Format)
PreviousDouble(Double)

d未満の最大の倍精度を検索します。

SetChoices(Double[], String[])

書式設定で使用する選択肢を設定します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToPattern()

パターンを取得します。

ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
IJavaPeerable.Finalized()

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

(継承元 _Format)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

ChoiceFormatを使用すると、数値の範囲に書式を添付できます。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象