Java中對數字格式化

          最近正在利用業余時間重新學習j2se的一些知識,因為感覺以前學得太過粗糙了,有時間的話我會把所接觸的一些比較新穎的知識在這里寫下,愿與大家共同分享,一起進步。今天就說說java中數字的格式化。
          java.text.DecimalFormat類就是專門對數字進行格式化的。通過對該類的應用,可以為要輸出的數字加上單位,或者控制數字的精度,用法:可以在DecimalFormat實例化時傳遞格式,也可通過對象調用applyPattern方法來實現設置格式。
          代碼演示如下:
          package formatnumber;

          import java.text.DecimalFormat;

          public class FormatNumber {

                  
          public static void main(String[] args) {
                          DecimalFormat df 
          = new DecimalFormat();
                          
          double data = 1234.56789;
                          System.out.println(
          "格式化之前的數字: " + data);
                          String style 
          = "0.0";//定義要顯示的數字的格式
                          df.applyPattern(style);// 將格式應用于格式化器
                          System.out.println("采用style: " + style + "格式化之后: " + df.format(data));
                          style 
          = "00000.000 kg";//在格式后添加諸如單位等字符
                          df.applyPattern(style);
                          System.out.println(
          "采用style: " + style + "格式化之后: " + df.format(data));
                          
          // 模式中的"#"表示如果該位存在字符,則顯示字符,如果不存在,則不顯示。
                          style = "##000.000 kg";
                          df.applyPattern(style);
                          System.out.println(
          "采用style: " + style + "格式化之后: " + df.format(data));
                          
          // 模式中的"-"表示輸出為負數,要放在最前面
                          style = "-000.000";
                          df.applyPattern(style);
                          System.out.println(
          "采用style: " + style + "格式化之后: " + df.format(data));
                          
          // 模式中的","在數字中添加逗號,方便讀數字
                          style = "-0,000.0#";
                          df.applyPattern(style);
                          System.out.println(
          "采用style: " + style + "格式化之后: " + df.format(data));
                          
          // 模式中的"E"表示輸出為指數,"E"之前的字符串是底數的格式,
                          
          // "E"之后的是字符串是指數的格式
                          style = "0.00E000";
                          df.applyPattern(style);
                          System.out.println(
          "采用style: " + style + "格式化之后: " + df.format(data));
                          
          // 模式中的"%"表示乘以100并顯示為百分數,要放在最后。
                          style = "0.00%";
                          df.applyPattern(style);
                          System.out.println(
          "采用style: " + style + "格式化之后: " + df.format(data));
                          
          // 模式中的"\u2030"表示乘以1000并顯示為千分數,要放在最后。
                          style = "0.00\u2030";
                          
          //在構造函數中設置數字格式
                          DecimalFormat df1 = new DecimalFormat(style);
                          
          //df.applyPattern(style);
                          System.out.println("采用style: " + style + "格式化之后: " + df1.format(data));
                  }

          }


          程序運行結果為:
          格式化之前的數字: 1234.56789
          采用style: 0.0格式化之后: 1234.6
          采用style: 00000.000 kg格式化之后: 01234.568 kg
          采用style: ##000.000 kg格式化之后: 1234.568 kg
          采用style: -000.000格式化之后: -1234.568
          采用style: -0,000.0#格式化之后: -1,234.57
          采用style: 0.00E000格式化之后: 1.23E003
          采用style: 0.00%格式化之后: 123456.79%
          采用style: 0.00‰格式化之后: 1234567.89‰

          posted on 2008-03-06 15:23 非凡DZ 閱讀(7819) 評論(0)  編輯  收藏 所屬分類: J2SE

          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類(19)

          隨筆檔案(19)

          友情鏈接

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 南溪县| 民乐县| 固阳县| 佛坪县| 建阳市| 托克逊县| 贡山| 齐齐哈尔市| 昭苏县| 松潘县| 钦州市| 武义县| 海兴县| 中山市| 扬州市| 横山县| 张家港市| 曲水县| 通州区| 来凤县| 乐都县| 松溪县| 泌阳县| 江口县| 永靖县| 丰台区| 多伦县| 仙居县| 都昌县| 平原县| 垦利县| 泰和县| 金华市| 农安县| 巴林左旗| 星座| 泸州市| 滕州市| 综艺| 阳山县| 定襄县|