1.在實(shí)踐中,有時(shí)會(huì)遇到數(shù)字格局化的需求,比如訂單號(hào)的某一段必須為4位,缺乏的用0占位,或許輸出需要帶上百分號(hào),單位,錢銀符號(hào)等,Java的DecimalFormat能和好的支撐。
2.實(shí)例化DecimalFormat后,并給實(shí)例目標(biāo)設(shè)置格局的pattern字符串(兩種方式)。
DecimalFormatmyFormat=newDecimalFormat(Stringpattern);//帶格局參數(shù),實(shí)例化格局化器
DecimalFormatmyFormat=newDecimalFormat();//不帶格局參數(shù),實(shí)例化格局化器myFormat.applyPattern(Stringpattern);//為格局化器設(shè)置格局參數(shù)
3.調(diào)用DecimalFormat目標(biāo)的format()方法進(jìn)行格局化操作,返回字符串。
Stringout=myFormat.Format(doublevalue);//格局化數(shù)字
4.pattern格局化表達(dá)式闡明:
0:假如該位存在數(shù)字則輸出該數(shù)字,假如不存在則輸出0;
#:假如該位存在數(shù)字則輸出該數(shù)字,不存在不做任何輸出;
.:小數(shù)分隔符;-:負(fù)號(hào);
,:分組分隔符;E:科學(xué)計(jì)數(shù)法中分隔位數(shù)和指數(shù);
%:放置在數(shù)字的前綴或后綴,將數(shù)字乘以100,以百分?jǐn)?shù)輸出;
\u2030:放置在數(shù)字的前綴或后綴,將數(shù)字乘以1000,以千分?jǐn)?shù)輸出;
\u00A4:放置在數(shù)字的前綴或后綴,作為錢銀記號(hào);
‘:本符號(hào)為單引號(hào),當(dāng)上述特殊符號(hào)出現(xiàn)在數(shù)字中時(shí),應(yīng)為特殊符號(hào)增加單引號(hào),系統(tǒng)會(huì)將該特殊符號(hào)當(dāng)做普通符號(hào)處理;
5.格局化舉例
publicstaticvoidfun(Stringpattern,doublevalue){//DecimalFormatformater=newDecimalFormat(pattern);DecimalFormatformater=newDecimalFormat(pattern);
formater.applyPattern(pattern);
System.err.println(formater.format(value));
}publicstaticvoidmain(String[]args){fun(“#,###.###”,123456.789);//123,456.789fun(“00000000.000kg”,123456.789);//00123456.789kgfun(“000000.000”,123.78);//000123.780fun(“#.#%”,0.789);//78.9%fun(“#.##”,123456.789);//123456.79fun(“#.00\u2030”,0.789);//789.00‰fun(“#\u00A4”,1234);//1234¥}
6.DecimalFormat還供給對(duì)數(shù)字以逗號(hào)分段功能:
DecimalFormatmyFormat=newDecimalFormat();
myFormat.setGroupingSize(3);//用逗號(hào)進(jìn)行分段時(shí),每個(gè)分段的巨細(xì),此處為3;
myFormat.setGroupingUsed(false/true);//當(dāng)為false時(shí)上述設(shè)置的分組巨細(xì)無(wú)效,為true時(shí)才能進(jìn)行分組;
7.分段舉例:
publicstaticvoidfun0(doublevalue){
DecimalFormatmyFormat=newDecimalFormat();
myFormat.setGroupingSize(3);//設(shè)置分段距離為3System.err.println(myFormat.format(value));
}publicstaticvoidfun1(doublevalue){
DecimalFormatmyFormat=newDecimalFormat();
myFormat.setGroupingSize(3);//設(shè)置分段距離為3myFormat.setGroupingUsed(false);//不分段System.err.println(myFormat.format(value));
}publicstaticvoidmain(String[]args){
fun0(123456.789);//123,456.789fun1(123456.789);//123456.789}
廣州天河區(qū)珠江新城富力盈力大廈北塔2706
020-38013166(網(wǎng)站咨詢專線)
400-001-5281 (售后服務(wù)熱線)
深圳市坂田十二橡樹(shù)莊園F1-7棟
Site/ http://www.szciya.com
E-mail/ itciya@vip.163.com
品牌服務(wù)專線:400-001-5281
長(zhǎng)沙市天心區(qū)芙蓉中路三段398號(hào)新時(shí)空大廈5樓
聯(lián)系電話/ (+86 0731)88282200
品牌服務(wù)專線/ 400-966-8830
旗下運(yùn)營(yíng)網(wǎng)站:
Copyright ? 2016 廣州思洋文化傳播有限公司,保留所有權(quán)利。 粵ICP備09033321號(hào)