📌  相关文章
📜  Java中的 NumberFormat 类

📅  最后修改于: 2022-05-13 01:54:32.844000             🧑  作者: Mango

Java中的 NumberFormat 类

NumberFormat是所有数字格式的抽象基类。这个类提供了格式化和解析数字的接口。 NumberFormat 还提供了用于确定哪些区域(美国、印度、意大利等)具有数字格式及其名称的方法。 NumberFormat 可帮助您格式化和解析任何语言环境的数字。

示例:假设我们有一个 double 类型的数字。但是这种双类型数字在不同的国家以不同的方式表示。要根据各个国家/地区表示一个数字,我们必须借助 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 类中存在的方法

S. No.MethodDescription
1.public static NumberFormat getInstance()To get the NumberFormat object for default Locale.
2.public static NumberFormat getCurrencyInstance()To get the NumberFormat object for default Locale to represent in specific Currency.
3.public static NumberFormat getPercentInstance()The function accepts a single mandatory parameter inLocale which describes the locale which is to be specified.
4.public static NumberFormat getInstance(Locale l)To get the NumberFormat object for the specified Locale object.
5.public static format(long l)To convert java number to locale object.

例子:

Java
// 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