隨筆 - 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,感覺挺不錯的,尤其是格式化輸出的  回復  更多評論
            
          主站蜘蛛池模板: 锡林浩特市| 左贡县| 青州市| 辉南县| 阜新市| 泽普县| 红桥区| 灵丘县| 汉中市| 仁布县| 工布江达县| 延长县| 湟源县| 蓝山县| 澄江县| 固始县| 昌图县| 洛隆县| 淮阳县| 古田县| 莎车县| 湘阴县| 呼伦贝尔市| 武定县| 清流县| 和政县| 鹤岗市| 元阳县| 睢宁县| 含山县| 天柱县| 平顺县| 信丰县| 茌平县| 织金县| 施甸县| 百色市| 陕西省| 屯昌县| 绵阳市| 错那县|