1. 程式人生 > >NumberFormat DecimalFormat,數字定義格式 , %格式

NumberFormat DecimalFormat,數字定義格式 , %格式

NumberFormat  

//返回當前預設語言環境的預設數值格式。
 NumberFormat.getInstance().format(myNumber); 23,323.332

 //返回當前預設語言環境的通用格式
 NumberFormat.getCurrencyInstance().format(myNumber); ¥23,323.33

 //返回當前預設語言環境的通用數值格式。 
 NumberFormat.getNumberInstance().format(myNumber); 23,323.332

 返回當前預設語言環境的百分比格式。
NumberFormat.getPercentInstance().format(test); 34%



NumberFormat format = NumberFormat.getInstance()
設定數值的小數部分允許的最大位數。 
format.setMaximumFractionDigits(3) 

設定數值的小數部分允許的最小位數。 
format.setMinimumFractionDigits(5) 

設定數值的整數部分允許的最大位數。 
format.setMaximumIntegerDigits(10)  

設定數值的整數部分允許的最小位數.
format.setMinimumIntegerDigits(0)  

format.format(2132323213.23266666666)   2,132,323,213.23267

DecimalFormat格式化數字  ---- 這個更好用一些

DecimalFormat也是Format的一個子類,主要的作用是用來格式化數字,當然,在格式化數字的時候要比直接使用NumberFormat更加方便,
因為可以直接指定按使用者自定義的方式進行格式化操作,
與SimpleDateFormat類似,如果要想進行自定義格式化操作,則必須指定格式化操作的模板。



0 數字 代表阿拉伯數字,每一個0表示一位阿拉伯數字,如果該位不存在則顯示0


# 數字 代表阿拉伯數字,每一個#表示一位阿拉伯數字,如果該位不存在則不顯示

. 數字 小數點分隔符或貨幣的小數分隔符

- 數字 代表負號

, 數字 分組分隔符

E 數字 分隔科學計數法中的尾數和指數

; 子模式邊界 分隔正數和負數子模式

% 字首或字尾 數字乘以100並顯示為百分數

\u2030 字首或字尾 乘以1000並顯示為千分數

\u00A4 字首或字尾 貨幣記號,由貨幣號替換。如果兩個同時出現,則用國際貨幣符號替換。
        如果出現在某個模式中,則使用貨幣小數分隔符,而不使用小數分隔符。

,    字首或字尾 用於在字首或或字尾中為特殊字元加引號,例如 "'#'#" 將 123 格式化為 "#123"。要建立單引號本身,
   請連續使用兩個單引號:"# o''clock"。




public class FormatDemo {

    public void format(String pattern,double value){
        DecimalFormat df=new DecimalFormat(pattern);
        String str=df.format(value);
        System.out.println("使用" + pattern+ "\t格式化數字"+value+":\t" + str);
    }
    public static void main(String[] args) {
        FormatDemo demo=new FormatDemo();
        demo.format("###,###.###", 111222.34567);
        demo.format("000,000.000", 11222.34567);
        demo.format("###,###.###$", 111222.34567);
        demo.format("000,000.000¥", 11222.34567);
        demo.format("##.###%", 0.345678);        // 使用百分數形式
        demo.format("00.###%", 0.0345678);        // 使用百分數形式
        demo.format("###.###\u2030", 0.345678);    // 使用千分數形式

    }

}