語言

NumberFormat 類別

定義

NumberFormat 是所有數字格式的抽象基底類別。

[Android.Runtime.Register("java/text/NumberFormat", DoNotGenerateAcw=true)]
public abstract class NumberFormat : Java.Text._Format
[<Android.Runtime.Register("java/text/NumberFormat", DoNotGenerateAcw=true)>]
type NumberFormat = class
    inherit _Format
繼承
衍生
屬性

備註

NumberFormat 是所有數字格式的抽象基底類別。 此類別提供格式化與解析數字的介面。 NumberFormat 同時提供判斷哪些地點有數字格式及其名稱的方法。

NumberFormat 幫助你格式化和解析任何地區的數字。 你的程式碼可以完全不受小數點、千分隔符,甚至特定小數位數字的限制,甚至數字格式是否為十進位,完全獨立。

要格式化當前 Locale 的數字,請使用工廠類別方法之一: <blockquote>

{@code
            myString = NumberFormat.getInstance().format(myNumber);
            }

</blockquote> 如果你要格式化多個數字,取得格式並多次使用會更有效率,這樣系統就不用多次取得當地語言和國家慣例的資訊。 <引用>

{@code
            NumberFormat nf = NumberFormat.getInstance();
            for (int i = 0; i < myNumber.length; ++i) {
                output.println(nf.format(myNumber[i]) + "; ");
            }
            }

</blockquote> 若要格式化不同地點的號碼,請在呼叫 中 getInstance指定。 <引用>

{@code
            NumberFormat nf = NumberFormat.getInstance(Locale.FRENCH);
            }

</區塊引用>

若區域包含「nu」(數字)Unicode 擴展名,則會覆蓋十進位數字及/或用於格式化的國家。

你也可以用 a NumberFormat 來解析數字: <blockquote>

{@code
            myNumber = nf.parse(myString);
            }

</blockquote> 使用 getInstancegetNumberInstance 取得正常數字格式。 用來 getIntegerInstance 取得整數格式。 用 getCurrencyInstance 來取得貨幣編號格式。 使用 getCompactNumberInstance 簡短數字格式來格式化數字。 例如, 2000 可以格式化為 "2K"java.util.Locale#US US locale。 請使用 getPercentInstance 來取得顯示百分比的格式。 在此格式中,像0.53這樣的分數會顯示為53%。

你也可以用以下方法 setMinimumFractionDigits控制數字的顯示。 如果你想要更多格式或解析的控制,或想給使用者更多控制權,可以嘗試將 NumberFormat 從工廠方法取得的 投射到 a DecimalFormatCompactNumberFormat ,視所用工廠方法而定。 這對絕大多數地點都適用;記得把它放在 try 方塊裡,以防遇到異常的方塊。

NumberFormat 與 DecimalFormat 的設計使得部分控制項可用於格式化,另一些則用於解析。 以下是這些控制方法的詳細說明,

setParseIntegerOnly : 僅影響解析,例如若為真,則「3456.78」 →3456(若為錯誤,則在索引 6 後不切入解析位置),「3456.78」 及 rarr;3456.78(並在索引 8 後離開解析位置)這與格式無關。 如果你不想顯示小數點後面可能沒有數字的地方,可以使用 setDecimalSeparatorAlwaysShown。

setDecimalSecialtorAlwaysShown : 僅影響格式,且僅在小數點後沒有數字的情況下,例如「#,##0.##」,例如若為真,則為 3456.00 & rarr;"3,456." 若為錯誤,則為3456.00 & rarr;「3456」這與解析無關。 如果你想讓解析在小數點停止,可以用 setParseIntegerOnly。

你也可以使用和parseformat方法的形式ParsePositionFieldPosition,讓你能:<ul><li> 逐步解析字串<片段 li> 對齊小數點及其他區域 </ul> 例如,你可以用兩種方式<對齊數字:ol><li> 如果你使用帶有空格的字型來對齊,你可以在格式中呼叫 ,FieldPosition 其中 field = INTEGER_FIELD。 輸出時, getEndIndex 將設定為整數最後一個字元與小數點之間的偏移量。 在字串前方加(desiredSpaceCount - getEndIndex)空格。

<如果你> 使用比例字型,不要用空格填充,而是從起點到 getEndIndex的像素來測量字串的寬度。 接著在繪製文字前,將筆移動 (desiredPixelWidth - widthToAlignmentPoint) 它也適用於沒有小數點,但可能在末尾加額外字元的情況,例如用負數括號表示「(12)」表示 -12。 </ol>

<h2>「synchronization」同步></h2>

數字格式通常不會同步。 建議為每個執行緒建立獨立格式實例。 若多個執行緒同時存取同一格式,必須在外部同步。

在 1.1 版本中加入。

java.text.NumberFormatJava 檔。

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

建構函式

名稱 Description
NumberFormat()

唯一的製造者。

NumberFormat(IntPtr, JniHandleOwnership)

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

欄位

名稱 Description
FractionField

場常數用於建構 FieldPosition 物件。

IntegerField

場常數用於建構 FieldPosition 物件。

屬性

名稱 Description
Class

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

(繼承來源 Object)
Currency

在格式化貨幣值時,取得此數字格式所使用的貨幣。 -或- 設定此數字格式在格式化貨幣值時所使用的貨幣。

CurrencyInstance

回傳目前預設 java.util.Locale.Category#FORMAT FORMAT 地點的貨幣格式。

GroupingUsed

若使用此格式的分組,則會回傳真值。 -或- 設定此格式是否使用分組。

Handle

基礎Android實例的句柄。

(繼承來源 Object)
Instance

回傳目前預設 java.util.Locale.Category#FORMAT FORMAT 地點的通用號碼格式。

IntegerInstance

回傳目前預設 java.util.Locale.Category#FORMAT FORMAT 地點的整數格式。

JniIdentityHashCode

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

(繼承來源 Object)
JniManagedPeerState

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
JniPeerMembers

NumberFormat 是所有數字格式的抽象基底類別。

MaximumFractionDigits

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

MaximumIntegerDigits

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

MinimumFractionDigits

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

MinimumIntegerDigits

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

NumberInstance

回傳目前預設 java.util.Locale.Category#FORMAT FORMAT 地點的通用號碼格式。

ParseIntegerOnly

如果此格式僅解析數字為整數,則回傳為真。 -或- 設定數字是否應僅解析為整數。

PeerReference

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

(繼承來源 Object)
PercentInstance

會回傳目前預設 java.util.Locale.Category#FORMAT FORMAT 地點的百分比格式。

RoundingMode

在這個數字格式中被 java.math.RoundingMode 使用。 -或- 設定此數字格式中的 。java.math.RoundingMode

ThresholdClass

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

ThresholdType

此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。

方法

名稱 Description
Clone()

建立並傳回這個 對象的複本。

(繼承來源 _Format)
Construct(JniObjectReference, JniObjectReferenceOptions)

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
Equals(Object)

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
Format(Double, StringBuffer, FieldPosition)

格式的專業化。

Format(Double)

格式的專業化。

Format(Int64, StringBuffer, FieldPosition)

格式的專業化。

Format(Int64)

格式的專業化。

Format(Object, StringBuffer, FieldPosition)

格式化一個數字,並將所得文字附加到給定的字串緩衝區。

Format(Object)

格式化物件以產生字串。

(繼承來源 _Format)
FormatToCharacterIterator(Object)

格式化物件產生 AttributedCharacterIterator

(繼承來源 _Format)
GetAvailableLocales()

回傳目前預設地點的科學格式。

GetCurrencyInstance(Locale)

會回傳指定地區的貨幣格式。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetInstance(Locale)

回傳指定地區的通用號碼格式。

GetIntegerInstance(Locale)

回傳指定地點的整數格式。

GetNumberInstance(Locale)

回傳指定地區的通用號碼格式。

GetPercentInstance(Locale)

回傳指定地點的百分比格式。

JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
Notify()

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

(繼承來源 Object)
NotifyAll()

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

(繼承來源 Object)
Parse(String, ParsePosition)

如果可能的話,回放多頭(例如:

Parse(String)

從給定字串的開頭解析文字以產生一個數字。

ParseObject(String, ParsePosition)

從字串中解析文字以產生 Number

ParseObject(String)

解析給定字串開頭的文字以產生物件。

(繼承來源 _Format)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

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

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

NumberFormat 是所有數字格式的抽象基底類別。

(繼承來源 _Format)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

NumberFormat 是所有數字格式的抽象基底類別。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於