在實際工作中,常常需要設定數字的輸出格式,如以百分比的形式輸出,或者設定小數位數等,先稍微總結如下。
主要使用的類:java.text.DecimalFormat
1。實例化對象,可以用如下兩種方法:
DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
因為DecimalFormat繼承自NumberFormat。
2。設定小數位數
系統默認小數位數為3,如:
??DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
??System.out.println(df.format(12.3456789));
輸出:12.346
現在可以通過如下方法把小數為設為兩位:
? df.setMaximumFractionDigits(2);
??System.out.println(df.format(12.3456789));
則輸出為:12.35
3。將數字轉化為百分比輸出,有如下兩種方法:
(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。設置分組大小
?? DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
??df1.setGroupingSize(2);
??System.out.println(df1.format(123456789));
輸出:1,23,45,67,89
還可以通過df1.setGroupingUsed(false);來禁用分組設置,如:
?? DecimalFormat df1=(DecimalFormat) DecimalFormat.getInstance();
??df1.setGroupingSize(2);
??df1.setGroupingUsed(false);
??System.out.println(df1.format(123456789));
輸出:123456789
5。設置小數為必須為2位
? DecimalFormat df2=(DecimalFormat) DecimalFormat.getInstance();
??df2.applyPattern("0.00");
??System.out.println(df2.format(1.2));
輸出:1.20