数字可以标志货币、百分比、积分和电话号码等,就货币而言,在不同的国家会以不同的格式来定义,本实例将接收用户输入的数字,然后在控制台中输出其货币格式,其中使用了不同国家的货币格式。

思路如下:使用NumberFormat类的getCurrencyInstance()方法,通过不同的参数创建不同的对象,对该对象使用format()方法,方法参数即为用户输入的数字。

代码如下:

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));
}
}

效果如图: