数字可以标志货币、百分比、积分和电话号码等,就货币而言,在不同的国家会以不同的格式来定义,本实例将接收用户输入的数字,然后在控制台中输出其货币格式,其中使用了不同国家的货币格式。
思路如下:使用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.*);
System.out.println("Locale.*:" +
format.format(number));
}
}
效果如图: