格式化輸出NumberFormat
相關內容:Local,?DataFormat,?MessageFormat,?SimpleDateFormat,?Format
---------------------------------------------------------------
java.text.NumberFormat類有三個方法可以產生下列數據的標準格式化器:
數字
貨幣
百分數
---------------------------------------------------------------
創建格式化器(默認地區Local格式):
NumberFormat.getNumberInstance();
NumberFormat.getCurrencyInstance();
NumberFormat.getPercentInstance();
---------------------------------------------------------------
例題:
double?dbl=10000.0/3;
NumberFormat?formatter=NumberFormat.getNumberInstance();
String?s=formatter.format(x);
System.out.println(s);
---------------------------------------------------------------
設定整數或小數部分所顯示的最少和最多位數,可以使用NumberFormat類
的方法:
setMinimumIntegerDigits(int)
setMinimumFractionDigits(int)
setMaximumIntegerDigits(int)
setMaximumFractionDigits(int)
設定小數部分的最多位很有用處。如果小數部分丟失的第一位數字大于等于5,
那么顯示的最后一位會增1(四舍五入)。如果要顯示尾隨的零,可以把小數部分的最少位等于最多位。
如果不想顯示,可以把小數部分的最少位設定為0或不設定。
指定最多位整數相當危險,顯示值將會被截斷,產生一個錯誤的值。
---------------------------------------------------------------
測試例題:
文件名TestNumberFormat.java
--------------------------------------------------------
import?java.text.NumberFormat;
public?class?TestNumberFormat
{
????public?static?void?main(String[]?args)?{
????????????NumberFormat?nFormat=NumberFormat.getNumberInstance();
????????????nFormat.setMinimumIntegerDigits(3);//設置整數部分至少為3位
????????????nFormat.setMaximumFractionDigits(5);//設置小數點后面尾數為5
????????System.out.println("Format?Out?3.2128345="+nFormat.format(3.2128345));
????????????NumberFormat?cFormat=NumberFormat.getCurrencyInstance();
????????????cFormat.setMaximumFractionDigits(3);
????????System.out.println("Format?Out?321283.47656="+cFormat.format(321283.47656));
????????????NumberFormat?pFormat=NumberFormat.getPercentInstance();
????????????pFormat.setMaximumFractionDigits(4);
????????System.out.println("Format?Out?3.2128345="+pFormat.format(3.2128345));
????????System.out.println("Format?Out?null="+nFormat.format(null));//參數是null,出現異常
????????//Throws??IllegalArgumentException
????}
}
//=================?運行結果如下?=======================
Format?Out?3.2128345=003.21283
Format?Out?321283.47656=¥321,283.477
Format?Out?3.2128345=321.2834%
Exception?in?thread?"main"?java.lang