输出指定格式的数字,使用到的是DecimalFormat类
DecimalFormat类是抽象基类NumberFormat的子类
在java.text.DecimalFormat 包中
DecimalFormat的实例化有三种方式
1>DecimalFormat df1 = new DecimalFormat("#.##") //括号中指定输出数字保留两位小数
2>DecimalFormat df2 =(DecimalFormat) NumberFormat.getInstance() //getInstance()返回默认语言下的数字输出格式
3>DecimalFormat df3 = (DecimalFormat)DecimalFormat.getInstance()
double n = 1234.5678;
String str1 = df1.format(n);
System.out.println(str1);
输出:1234.57 //四舍五入,结果保留两位小数
String str2 = df2.format(n);
System.out.println(str2);
输出:1234.568 //默认保留三位小数
setMaximumFractionDigits(int num) //设置最多保留小数的位数,与df1不同,位数可以少于num;
例如:
df2.setMaximumFractionDigits(2);
String str2 = df2.format(n);
System.out.println(str2);
输出:1234.57 //四舍五入,结果保留两位小数
setGroupingSize(int num) //设置分组
例如:
df2.setGroupingSize(2);
String str3 = df2.format();
System.out.println(str3);
输出:12,34.568 //将整数部分分组
applyPattern(String s) //按照字符串指定的方式输出数字
例如:
df3.applyPattern("##,##.##%"); //转换为百分数,整数部分两个一组
String str3 = df3.format();
System.out.println(str3);
输出:123456.78%
applyPattern(String s) 方法使用的最多,可以通过字符串的方式随意指定输出数字的格式,可以将输出分组,保留小数,转换百分数等结合起来。。。