ChoiceFormat クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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] ≤ X < limit[j+1]
</blockquote> 一致しない場合は、数値 (X) が低すぎるか高すぎるかに応じて、最初または最後のインデックスが使用されます。 制限配列が昇順でない場合、書式設定の結果が正しくありません。 ChoiceFormat では、infinity(INF) と同等の \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 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| ChoiceFormat(Double[], String[]) |
制限と対応する形式を持つコンストラクト。 |
| ChoiceFormat(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
| ChoiceFormat(String) |
パターンに基づいて制限と対応する形式を持つコンストラクト。 |
フィールド
| 名前 | 説明 |
|---|---|
| FractionField |
FieldPosition オブジェクトの構築に使用される Field 定数。 (継承元 NumberFormat) |
| IntegerField |
FieldPosition オブジェクトの構築に使用される Field 定数。 (継承元 NumberFormat) |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Currency |
通貨値を書式設定するときに、この数値形式で使用される通貨を取得します。 または、通貨値を書式設定するときに、この数値書式で使用される通貨を設定します。 (継承元 NumberFormat) |
| GroupingUsed |
グループ化がこの形式で使用されている場合は true を返します。 または、グループ化をこの形式で使用するかどうかを設定します。 (継承元 NumberFormat) |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。 (継承元 Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| MaximumFractionDigits |
数値の分数部分で許容される最大桁数を返します。 または、数値の分数部分で許容される最大桁数を設定します。 (継承元 NumberFormat) |
| MaximumIntegerDigits |
数値の整数部分で許容される最大桁数を返します。 または、数値の整数部分で許容される最大桁数を設定します。 (継承元 NumberFormat) |
| MinimumFractionDigits |
数値の分数部分で許容される最小桁数を返します。 または、数値の分数部分で許容される最小桁数を設定します。 (継承元 NumberFormat) |
| MinimumIntegerDigits |
数値の整数部分で許容される最小桁数を返します。 または、数値の整数部分で許容される最小桁数を設定します。 (継承元 NumberFormat) |
| ParseIntegerOnly |
この形式で数値を整数としてのみ解析する場合は true を返します。 または、数値を整数としてのみ解析するかどうかを設定します。 (継承元 NumberFormat) |
| PeerReference |
このJava ピアの JNI オブジェクト参照を取得します。 (継承元 Object) |
| RoundingMode |
この NumberFormat で使用される |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
| 名前 | 説明 |
|---|---|
| ApplyPattern(String) |
パターンを設定します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 _Format) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| Dispose(Boolean) |
このJava ピアによって保持されているリソースを解放します。 (継承元 Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| 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) |
|
| GetFormats() |
この |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| GetLimits() |
この |
| JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| NextDouble(Double, Boolean) |
|
| NextDouble(Double) |
|
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| Parse(String, ParsePosition) |
入力テキストから数値を解析します。 |
| Parse(String) |
指定した文字列の先頭からテキストを解析して、数値を生成します。 (継承元 NumberFormat) |
| ParseObject(String, ParsePosition) |
文字列からテキストを解析して、 |
| ParseObject(String) |
指定された文字列の先頭からテキストを解析して、オブジェクトを生成します。 (継承元 _Format) |
| PreviousDouble(Double) |
|
| SetChoices(Double[], String[]) |
書式設定で使用する選択肢を設定します。 |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| 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() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|