共用方式為


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 也提供方法來判斷哪些地區設定具有數位格式,以及其名稱為何。

NumberFormat 可協助您格式化和剖析任何地區設定的數位。 您的程式代碼完全獨立於小數點、千位分隔符,甚至是使用的特定小數位數的地區設定慣例,或數位格式是否為偶數。

若要格式化目前 Locale 的數位,請使用其中一個 Factory 類別方法: <blockquote>

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

</blockquote> 如果您要格式化多個數位,取得格式並多次使用它會更有效率,因此系統不必多次擷取當地語言和國家/地區慣例的相關信息。 <blockquote>

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

</blockquote> 若要格式化不同地區設定的數位,請在 呼叫 getInstance中指定它。 <blockquote>

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

</blockquote>

如果地區設定包含 「nu」 (數位) Unicode 延伸模組,則會覆寫用於格式化的十進位數位和/或國家/地區。

您也可以使用 NumberFormat 來剖析數位: <blockquote>

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

</blockquote> 使用 getInstancegetNumberInstance 取得一般數位格式。 使用 getIntegerInstance 來取得整數數位格式。 使用 getCurrencyInstance 來取得貨幣號碼格式。 使用 getCompactNumberInstance 取得精簡的數位格式,以較短的格式格式化數位。 例如,2000可以在 中java.util.Locale#US US locale格式化為 "2K" 。 用來 getPercentInstance 取得顯示百分比的格式。 使用此格式時,0.53 之類的分數會顯示為53%。

您也可以使用 這類方法 setMinimumFractionDigits來控制數字的顯示。 如果您想要對格式或剖析有更多的控制權,或想要為使用者提供更多控制權,您可以嘗試將 您從處理站方法取得的 DecimalFormat 轉換成 NumberFormat ,或CompactNumberFormat視所使用的處理站方法而定。 這將適用於絕大多數地區:只要記得把它放在區塊 try 中,以防你遇到不尋常的區塊。

NumberFormat 和 DecimalFormat 的設計可讓某些控件用於格式化,而其他控件則適用於剖析。 以下是每個這些控制項方法的詳細描述:

setParseIntegerOnly :只會影響剖析,例如如果為 true,“3456.78” →3456 (並在索引 6 之後離開剖析位置)如果為 false,“3456.78” →3456.78 (並在索引 8 之後離開剖析位置),這與格式無關。 如果您想要不顯示小數點,其中小數點後面可能沒有任何數位,請使用 setDecimalSeparatorAlwaysShown。

setDecimalSeparatorAlwaysShown :只會影響格式設定,而且只有在小數點之後可能沒有數位的地方,例如,具有 “#,##0.##”之類的模式,例如,如果為 true,則為 3456.00 →"3,456." 如果為 false,則為 3456.00 →“3456” 這與剖析無關。 如果您想要在小數點停止剖析,請使用 setParseIntegerOnly。

您也可以使用 和 方法的格式parseParsePositionFieldPosition允許您:ul<>li 逐漸剖析字串<的片段 li>> 對齊小數點和其他區域 </ul> 例如,您可以用兩種方式來對齊數位:<<ol<>li> 如果您使用單空格字型搭配對齊間距,則可以在格式呼叫中傳遞 。FieldPositionformat 使用 field = INTEGER_FIELD。 在輸出中, getEndIndex 將會設定為整數的最後一個字元與十進位之間的位移。 在字串前面新增 (desiredSpaceCount - getEndIndex) 空格。

<li> 如果您使用比例字型,而不是以空格填補,請從開始到 getEndIndex以像素為單位測量字串的寬度。 然後,在繪製文字之前,先移動手寫筆(desiredPixelWidth - widthToAlignmentPoint)。 它也適用於沒有十進位,但結尾可能有額外的字元,例如,以負數括住括弧:“(12)” 為 -12。 </老>

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

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

已在1.1中新增。

java.text.NumberFormatJava 檔。

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

建構函式

NumberFormat()

唯一的建構函式。

NumberFormat(IntPtr, JniHandleOwnership)

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

欄位

FractionField

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

IntegerField

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

屬性

Class

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

(繼承來源 Object)
Currency

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

CurrencyInstance

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

GroupingUsed

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

Handle

基礎Android實例的句柄。

(繼承來源 Object)
Instance

傳回目前預設 java.util.Locale.Category#FORMAT FORMAT 地區設定的一般用途數位格式。

IntegerInstance

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

JniIdentityHashCode

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
JniPeerMembers

NumberFormat 是所有數位格式的抽象基類。

MaximumFractionDigits

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

MaximumIntegerDigits

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

MinimumFractionDigits

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

MinimumIntegerDigits

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

NumberInstance

傳回目前預設 java.util.Locale.Category#FORMAT FORMAT 地區設定的一般用途數位格式。

ParseIntegerOnly

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

PeerReference

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
PercentInstance

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

RoundingMode

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

ThresholdClass

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

ThresholdType

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

方法

Clone()

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

(繼承來源 _Format)
Dispose()

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
Dispose(Boolean)

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
Equals(Object)

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

(繼承來源 Object)
Format(Double)

格式的特製化。

Format(Double, StringBuffer, FieldPosition)

格式的特製化。

Format(Int64)

格式的特製化。

Format(Int64, StringBuffer, FieldPosition)

格式的特製化。

Format(Object)

格式化 物件以產生字串。

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

格式化數位,並將產生的文字附加至指定的字串緩衝區。

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)

剖析指定字串開頭的文字,以產生數位。

Parse(String, ParsePosition)

可能的話,傳回 Long (e.

ParseObject(String)

從指定字串的開頭剖析文字,以產生 物件。

(繼承來源 _Format)
ParseObject(String, ParsePosition)

剖析字串中的文字以產生 Number

SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

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

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

NumberFormat 是所有數位格式的抽象基類。

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

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

NumberFormat 是所有數位格式的抽象基類。

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

NumberFormat 是所有數位格式的抽象基類。

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

NumberFormat 是所有數位格式的抽象基類。

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

NumberFormat 是所有數位格式的抽象基類。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

NumberFormat 是所有數位格式的抽象基類。

GetJniTypeName(IJavaPeerable)

NumberFormat 是所有數位格式的抽象基類。

適用於