語言

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 複數。 選擇是以遞增的雙精度浮點數清單指定,其中每個專案會指定下一個專案的半開啟間隔: <blockquote>

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

</blockquote> 如果沒有相符專案,則會使用第一個或最後一個索引,視數位 (X) 太低或太高而定。 如果限制陣語不是以遞增順序排列,格式設定的結果將會不正確。 ChoiceFormat 也接受 &#92;u221E 相當於無限大(INF)。

<strong>Note:</strong>ChoiceFormat 與使用建構函式建立Format物件的其他ChoiceFormat類別不同(不是使用getInstance樣式處理站方法)。 不需要處理站方法,因為 ChoiceFormat 不需要指定地區設定的任何複雜設定。 事實上, ChoiceFormat 不會實作任何地區設定特定行為。

建立 ChoiceFormat時,您必須指定格式陣列和限制數位。 這些陣列的長度必須相同。 例如,<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可用來取得下一個較高的雙精度浮點,讓半開啟間隔。 </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));
            }
            }

</區塊引用>

指定 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.
            }

</區塊引用>

<h2>“synchronization”>Synchronization</h2>

選擇格式不會同步處理。 建議為每個線程建立個別的格式實例。 如果多個線程同時存取格式,則必須在外部同步處理。

已在1.1中新增。

java.text.ChoiceFormatJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

名稱 Description
ChoiceFormat(Double[], String[])

使用限制和對應的格式建構。

ChoiceFormat(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

ChoiceFormat(String)

根據模式,使用限制和對應的格式建構。

欄位

名稱 Description
FractionField

用來建構 FieldPosition 物件的欄位常數。

(繼承來源 NumberFormat)
IntegerField

用來建構 FieldPosition 物件的欄位常數。

(繼承來源 NumberFormat)

屬性

名稱 Description
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Currency

取得格式化貨幣值時,這個數位格式所使用的貨幣。 -或- 設定格式化貨幣值時,這個數位格式所使用的貨幣。

(繼承來源 NumberFormat)
GroupingUsed

如果以此格式使用群組,則傳回 true。 -或- 設定是否要使用這個格式的群組。

(繼承來源 NumberFormat)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

ChoiceFormat可讓您將格式附加至數字範圍。

(繼承來源 JavaObject)
JniPeerMembers

ChoiceFormat可讓您將格式附加至數字範圍。

MaximumFractionDigits

傳回數位分數部分所允許的最大位數。 -或- 設定數字分數部分所允許的最大位數。

(繼承來源 NumberFormat)
MaximumIntegerDigits

傳回數位整數部分所允許的最大位數。 -或- 設定數位整數部分所允許的最大位數。

(繼承來源 NumberFormat)
MinimumFractionDigits

傳回數位分數部分所允許的最小位數。 -或- 設定數字分數部分所允許的最小位數。

(繼承來源 NumberFormat)
MinimumIntegerDigits

傳回數位整數部分所允許的最小位數。 -或- 設定數位整數部分所允許的最小位數。

(繼承來源 NumberFormat)
ParseIntegerOnly

如果這個格式只會將數位剖析為整數,則傳回 true。 -或- 設定是否應該只將數位剖析為整數。

(繼承來源 NumberFormat)
PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
RoundingMode

java.math.RoundingMode取得這個 NumberFormat 中使用的 。 -或- 設定 java.math.RoundingMode 這個 NumberFormat 中使用的 。

(繼承來源 NumberFormat)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

名稱 Description
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)

傳回具有格式化雙精度浮點數的模式。

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 (如果 positive 為 ) 或小於true的最大雙精度浮點數 (如果 dpositivefalse)。

NextDouble(Double)

尋找大於 d的最小雙精度浮點數。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 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)

明確介面實作

名稱 Description
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)

擴充方法

名稱 Description
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 端是否有效。

適用於