在實(shí)際工作中,常常需要設(shè)定數(shù)字的輸出格式,如以百分比的形式輸出,或者設(shè)定小數(shù)位數(shù)等,先稍微總結(jié)如下。
主要使用的類:java.text.DecimalFormat
1。實(shí)例化對象,可以用如下兩種方法:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
因?yàn)镈ecimalFormat繼承自NumberFormat。
2。設(shè)定小數(shù)位數(shù)
系統(tǒng)默認(rèn)小數(shù)位數(shù)為3,如:
??DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
??System.out.println(df.format(12.3456789));
輸出:12.346
現(xiàn)在可以通過如下方法把小數(shù)為設(shè)為兩位:
? df.setMaximumFractionDigits(2);
??System.out.println(df.format(12.3456789));
則輸出為:12.35
3。將數(shù)字轉(zhuǎn)化為百分比輸出,有如下兩種方法:
(1)
? df.applyPattern("##.##%");
??System.out.println(df.format(12.3456789));
??System.out.println(df.format(1));
??System.out.println(df.format(0.015));
輸出分別為:1234.57%? 100%??? 1.5%
(2)
? df.setMaximumFractionDigits(2);
??System.out.println(df.format(12.3456789*100)+"%");
??System.out.println(df.format(1*100)+"%");
??System.out.println(df.format(0.015*100)+"%");
輸出分別為:
1,234.57%?? 100%?? 1.5%
4。設(shè)置分組大小
?? DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
??df1.setGroupingSize(2);
??System.out.println(df1.format(123456789));
輸出:1,23,45,67,89
還可以通過df1.setGroupingUsed(false);來禁用分組設(shè)置,如:
?? DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
??df1.setGroupingSize(2);
??df1.setGroupingUsed(false);
??System.out.println(df1.format(123456789));
輸出:123456789
5。設(shè)置小數(shù)為必須為2位
? DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance();
??df2.applyPattern("0.00");
??System.out.println(df2.format(1.2));
輸出:1.20