隨筆 - 13  文章 - 47  trackbacks - 0
          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          收藏夾

          個人博客

          參考文檔

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          格式化輸出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
          posted on 2006-12-14 15:50 西紅柿(tomato) 閱讀(15687) 評論(1)  編輯  收藏 所屬分類: JSF相關

          FeedBack:
          # re: 數字格式化輸出NumberFormat[未登錄] 2009-04-24 09:41 andy
          剛才看了您的blog,感覺挺不錯的,尤其是格式化輸出的  回復  更多評論
            
          主站蜘蛛池模板: 桦川县| 炉霍县| 丁青县| 江源县| 陵水| 白山市| 奉新县| 凤山县| 雷州市| 聂拉木县| 西安市| 邻水| 荆州市| 德保县| 婺源县| 抚远县| 台江县| 攀枝花市| 赫章县| 璧山县| 淮安市| 娱乐| 民权县| 屏东县| 宜阳县| 金昌市| 江山市| 河源市| 阿克陶县| 鹤岗市| 炉霍县| 凯里市| 曲沃县| 赣榆县| 抚州市| 呼玛县| 芜湖县| 舒兰市| 乌兰察布市| 五河县| 赤城县|