NumberFormat DecimalFormat,數字定義格式 , %格式
阿新 • • 發佈:2019-01-30
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); // 使用千分數形式 } }