Java中输出指定格式的数字

输出指定格式的数字,使用到的是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) 方法使用的最多,可以通过字符串的方式随意指定输出数字的格式,可以将输出分组,保留小数,转换百分数等结合起来。。。


你可能感兴趣的:(Java中输出指定格式的数字)