Number类型显示,带地区的金额、四舍五入的数字、百分比的数字

public static void main(String[] args) {
		// 不使用格式化输出数
		double d = 10.0 / 3.0;
		System.out.println("无格式化输出:" + d);

		// 使用本地默认格式输出数
		NumberFormat numberFormat = NumberFormat.getNumberInstance();
		//设置最大精度
		numberFormat.setMaximumFractionDigits(4);
		numberFormat.setMinimumFractionDigits(1);
		//四舍五入的方式
		numberFormat.setRoundingMode(RoundingMode.HALF_DOWN);
		String numberString = numberFormat.format(d);
		System.out.println("本地默认格式输出数:" + numberString);

		// 使用本地默认格式输出货币值
		NumberFormat currencyFormat = NumberFormat.getCurrencyInstance();
		System.out.println("本地默认格式输出货币值:" + currencyFormat.format(d));

		// 使用本地默认格式输出百分数
		NumberFormat percentFormat = NumberFormat.getPercentInstance();
		System.out.println("本地默认格式输出百分数:" + percentFormat.format(d));

		// 在不同的国家和地区数字表示的格式也有区别。如德国
		// 使用德国的格式化输出数
		NumberFormat numberFormatG = NumberFormat.getNumberInstance(Locale.GERMANY);
		System.out.println("德国数字输出形式:" + numberFormatG.format(d));

		// 使用德国货币输出形式
		NumberFormat currencyFormatG = NumberFormat.getCurrencyInstance(Locale.GERMANY);
		System.out.println("德国货币输出形式:" + currencyFormatG.format(d));

		// 使用美国货币输出形式
		NumberFormat currencyFormatA = NumberFormat.getCurrencyInstance(Locale.US);
		System.out.println("美国货币输出形式:" + currencyFormatA.format(d));

		// 使用德国百分数输出形式
		NumberFormat percentFormatG = NumberFormat.getPercentInstance(Locale.GERMANY);
		System.out.println("德国百分数输出形式:" + percentFormatG.format(d));
	}



结果显示:
无格式化输出:3.3333333333333335
本地默认格式输出数:3.3333
本地默认格式输出货币值:¥3.33
本地默认格式输出百分数:333%
德国数字输出形式:3,333
德国货币输出形式:3,33 €
美国货币输出形式:$3.33
德国百分数输出形式:333%

猜你喜欢

转载自ziser.iteye.com/blog/2396975