数字格式化DecimalFormat 总结

来源:互联网 发布:戴笠 毛人凤 知乎 编辑:程序博客网 时间:2024/04/25 16:27

[java] view plaincopy
  1. import java.text.DecimalFormat;  
  2.   
  3.   
  4. public class test {  
  5.   
  6.     /** 
  7.      * @param args 
  8.      */  
  9.     public static void main(String[] args) {  
  10.   
  11.         double d = 1231423.3823;  
  12.         System.out.println("格式化前:"+d);  
  13.         DecimalFormat f = new DecimalFormat();  
  14.           
  15.         f.applyPattern("#.##");       
  16.         System.out.println("applyPattern{#.##} 格式化后:"+f.format(d));  
  17.           
  18.         f.applyPattern("0000000000.000000");  
  19.         System.out.println("applyPattern{0000000000.000000} 格式化后:"+f.format(d));  
  20.           
  21.         f.applyPattern("-#,###.###");         
  22.         System.out.println("applyPattern{##,###.##} 格式化后:"+f.format(d));  
  23.           
  24.         f.applyPattern("0.00KG");  
  25.         System.out.println("applyPattern{0.00KG} 格式化后:"+f.format(d));  
  26.           
  27.         f.applyPattern("#000.00KG");  
  28.         System.out.println("applyPattern{#000.00KG} 格式化后:"+f.format(d));  
  29.           
  30.         f.applyPattern("0.00%");  
  31.         System.out.println("applyPattern{0.00%} 格式化后:"+f.format(d));  
  32.           
  33.         //E后面的是指数的格式 前面是底数的格式  
  34.         f.applyPattern("#.##E000");  
  35.         System.out.println("applyPattern{#.##E000} 格式化后:"+f.format(d));  
  36.           
  37.         // /u2030 表示乘以1000并表示成 ‰,放在最后  
  38.         f.applyPattern("0.00/u2030");  
  39.         System.out.println("applyPattern{0.00/u2030%} 格式化后:"+f.format(d));  
  40.     }  
  41. }  

结果

格式化前:1231423.3823
applyPattern{#.##} 格式化后:1231423.38
applyPattern{0000000000.000000} 格式化后:0001231423.382300
applyPattern{##,###.##} 格式化后:-1,231,423.382
applyPattern{0.00KG} 格式化后:1231423.38KG
applyPattern{#000.00KG} 格式化后:1231423.38KG
applyPattern{0.00%} 格式化后:123142338.23%
applyPattern{#.##E000} 格式化后:1.23E006
applyPattern{0.00‰%} 格式化后:1231423382.30‰

模式中0与# 不同

模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示。