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 可帮助你设置任何区域设置的格式和分析数字。 代码可以完全独立于小数点、千位分隔符甚至使用的特定十进制数字的区域设置约定,或者数字格式是否为小数。

若要设置当前区域设置的数字的格式,请使用工厂类方法之一: <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 扩展,则重写用于格式设置的十进制数字和/或国家/地区。

还可以使用 a NumberFormat 分析数字: <blockquote>

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

</blockquote> 使用 getInstancegetNumberInstance 获取普通数字格式。 用于 getIntegerInstance 获取整数格式。 用于 getCurrencyInstance 获取货币编号格式。 用于 getCompactNumberInstance 获取压缩数字格式以较短格式设置数字的格式。 例如, 2000 可以格式化为 "2K" in java.util.Locale#US US locale. 用于 getPercentInstance 获取用于显示百分比的格式。 使用此格式时,0.53 等分数显示为 53%。

还可以使用此类方法 setMinimumFractionDigits控制数字的显示。 如果希望更好地控制格式或分析,或者希望为用户提供更多控制权,可以尝试将你从工厂方法DecimalFormat转换为NumberFormatCompactNumberFormat取决于所使用的工厂方法。 这将适用于绝大多数区域设置:只是记得把它放在一个 try 块, 以防你遇到一个不寻常的块。

NumberFormat 和 DecimalFormat 设计为使某些控件可用于格式设置,而其他控件用于分析。 下面是每个控件方法的详细说明,

setParseIntegerOnly:仅影响分析,例如,如果为 true,则为“3456.78” →3456(如果为 false,则离开索引 6 之后的分析位置),如果为 false,则为“3456.78” →3456.78(在索引 8 之后离开分析位置),这独立于格式设置。 如果不想显示小数点,其中小数点后可能没有数字,请使用 setDecimalSeparatorAlwaysShown。

setDecimalSeparatorAlwaysShown:仅影响格式设置,并且仅当小数点之后可能没有数字的位置,例如,采用“#,##0.##”等模式,例如,如果为 true,则为 3456.00 →"3,456." 如果为 false,则为 3456.00 →“3456”这与分析无关。 如果要分析在小数点停止,请使用 setParseIntegerOnly。

还可以使用parse格式和format方法ParsePosition,并允许FieldPosition你:<ul><li 以渐进方式分析字符串 <li>> 对齐小数点和其他区域 </ul>。例如,可以通过两种方式对齐数字:<ol<>li> 如果使用带间距的单空格字体进行对齐,则可以按格式调用传递FieldPosition格式调用, with 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 对象的托管表示形式时使用的构造函数;由运行时调用。

字段

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 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

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 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</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 是所有数字格式的抽象基类。

适用于