一、实例运行结果:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------二、实现过程:
创建FormatNumber类,在该类的主方法中创建标准输入流的扫描器对象。
import java.text.NumberFormat;
import java.util.Locale;
import java.util.Scanner;
public class FormatNumber {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 创建标注输入流扫描器
System.out.println("请输入一个数字:");
double number = scan.nextDouble();// 获取用户输入数字
System.out.println("该数字用Locale类的以下常量作为格式化对象的构造参数,将获得不同的货币格式:");
// 创建格式化对象
NumberFormat format = NumberFormat.getCurrencyInstance(Locale.CHINA);
// 输出格式化货币格式
System.out.println("Locale.CHINA:" + format.format(number));
format = NumberFormat.getCurrencyInstance(Locale.US);
System.out.println("Locale.US:" + format.format(number));
format = NumberFormat.getCurrencyInstance(Locale.ENGLISH);
System.out.println("Locale.ENGLISH:" + format.format(number));
format = NumberFormat.getCurrencyInstance(Locale.TAIWAN);
System.out.println("Locale.TAIWAN:" + format.format(number));
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
三、总结:
数字格式化是本实例的关键点,实例中应用NumberFormat类实现了数字格式刷,这个类是一个抽象类,但是可以通过其静态方法获取内部实现类的实例对象。
使用的方法声明如下:
获取货币格式对象
public static NumberFormat getCurrencyInstance(Locale inLocale)
该方法用于获取NumberFormat类的货币格式对象。
参数说明:
inLocale:指定语言环境
执行格式化
public final String format(double number)
该方法是格式化对象中的方法,用于执行针对数字的格式化操作,就本实例使用的货币格式化对象来说,这个方法执行的是把数字格式化为货币字符串。
参数说明:
number:要被格式化的数字。
格式化对象可以指定语言环境,在Java中使用Local类的对象来表示,在该类中包含了各种语言环境。通过它可以获取国际化的字符串信息,例如货币、日期时间等等。