Java NumberFormat类
NumberFormat 是一个所有数字格式的抽象基类。该类提供了用于格式化和解析数字的接口。NumberFormat还提供了确定哪些地区(美国、印度、意大利等)有数字格式及其名称的方法。NumberFormat帮助你对任何地区的数字进行格式化和解析。
例如: 假设我们有一个双数类型的数字。但是这个双数类型的数字在不同的国家有不同的表示方法。为了根据不同的国家来表示一个数字,我们必须在NumberFormat类的帮助下,如。
double d = 123456.789;
For India, it is represented like 1,23,456.789
For US, it is represented like 123,456.789
For ITALY, it is represented like 123.456,789
关于NumberFormat类的一些重要观点
- NumberFormat类存在于java.text包中,它是一个抽象的类。
- NumberFormat类实现了Serializable、Cloneable。
- NumberFormat是Format类的直接子类。
- NumberFormat通常是不同步的。建议为每个线程创建单独的格式实例。如果多个线程同时访问一个格式,它必须在外部进行同步。
NumberFormat类中的方法
S. No. | 方法 | 说明 |
---|---|---|
1. | public static NumberFormat getInstance() | 获取默认地区的NumberFormat对象。 |
2. | public static NumberFormat getCurrencyInstance() | 获取默认地区的NumberFormat对象,并以特定货币表示。 |
3. | public static NumberFormat getPercentInstance() | 该函数接受一个强制性参数inLocale,该参数描述了要指定的locale。 |
4. | public static NumberFormat getInstance(Locale l) | 获取指定Locale对象的NumberFormat对象。 |
5. | public static format(long l) | 将java数字转换为locale对象。 |
例子
// Java Program to illustrate NumberFormat class use
import java.text.*;
import java.util.*;
class NumberFormatDemo {
public static void main(String[] args)
{
double d = 123456.789;
NumberFormat nf
= NumberFormat.getInstance(Locale.ITALY);
System.out.println("ITALY representation of " + d
+ " : " + nf.format(d));
}
}
输出
ITALY representation of 123456.789 : 123.456,789