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%