NumberFormat 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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
可帮助你设置任何区域设置的格式和分析数字。 代码可以完全独立于小数点、千位分隔符甚至使用的特定十进制数字的区域设置约定,或者数字格式是否为小数。
若要设置当前区域设置的数字的格式,请使用工厂类方法之一: <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> 使用 getInstance
或 getNumberInstance
获取普通数字格式。 用于 getIntegerInstance
获取整数格式。 用于 getCurrencyInstance
获取货币编号格式。 用于 getCompactNumberInstance
获取压缩数字格式以较短格式设置数字的格式。 例如, 2000
可以格式化为 "2K"
in java.util.Locale#US US locale
. 用于 getPercentInstance
获取用于显示百分比的格式。 使用此格式时,0.53 等分数显示为 53%。
还可以使用此类方法 setMinimumFractionDigits
控制数字的显示。 如果希望更好地控制格式或分析,或者希望为用户提供更多控制权,可以尝试将你从工厂方法DecimalFormat
转换为NumberFormat
或CompactNumberFormat
取决于所使用的工厂方法。 这将适用于绝大多数区域设置:只是记得把它放在一个 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.NumberFormat
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
NumberFormat() |
唯一构造函数。 |
NumberFormat(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
FractionField |
用于构造 FieldPosition 对象的字段常量。 |
IntegerField |
用于构造 FieldPosition 对象的字段常量。 |
属性
Class |
返回此 |
Currency |
获取格式设置货币值时此数字格式使用的货币。 - 或 - 设置格式设置货币值格式时此数字格式使用的货币。 |
CurrencyInstance |
返回当前默认 |
GroupingUsed |
如果采用此格式使用分组,则返回 true。 - 或 - 设置是否将使用此格式的分组。 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
Instance |
返回当前默认 |
IntegerInstance |
返回当前默认 |
JniIdentityHashCode |
|
JniPeerMembers |
|
MaximumFractionDigits |
返回数字的分数部分允许的最大位数。 - 或 - 设置数字的分数部分允许的最大位数。 |
MaximumIntegerDigits |
返回数字整数部分中允许的最大位数。 - 或 - 设置数字整数部分中允许的最大位数。 |
MinimumFractionDigits |
返回数字的分数部分允许的最小位数。 - 或 - 设置数字的分数部分允许的最小位数。 |
MinimumIntegerDigits |
返回数字整数部分中允许的最小位数。 - 或 - 设置数字整数部分中允许的最小位数。 |
NumberInstance |
返回当前默认 |
ParseIntegerOnly |
如果此格式将仅将数字分析为整数,则返回 true。 - 或 - 设置是否只应将数字分析为整数。 |
PeerReference |
|
PercentInstance |
返回当前默认 |
RoundingMode |
|
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
Clone() |
创建并返回此对象的副本。 (继承自 _Format) |
Dispose() |
|
Dispose(Boolean) |
|
Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
Format(Double) |
格式的专用化。 |
Format(Double, StringBuffer, FieldPosition) |
格式的专用化。 |
Format(Int64) |
格式的专用化。 |
Format(Int64, StringBuffer, FieldPosition) |
格式的专用化。 |
Format(Object) |
设置对象的格式以生成字符串。 (继承自 _Format) |
Format(Object, StringBuffer, FieldPosition) |
设置数字的格式,并将生成的文本追加到给定的字符串缓冲区。 |
FormatToCharacterIterator(Object) |
设置生成 . 的对象 |
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) |
分析字符串中的文本以生成一个 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ToArray<T>() |
|
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
|
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() |
|
IJavaPeerable.DisposeUnlessReferenced() |
|
IJavaPeerable.Finalized() |
|
IJavaPeerable.JniManagedPeerState |
|
IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
IJavaPeerable.SetPeerReference(JniObjectReference) |
|
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
|
GetJniTypeName(IJavaPeerable) |
|