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%