Java 数据格式化

  1.   
  2. import java.text.DecimalFormat;  
  3. import java.util.Formatter;  
  4. import java.util.Locale;  
  5.   
  6. public class DADB {  
  7.  public static void main(String[]atrgs)  
  8.  {  
  9.   DecimalFormat f = new DecimalFormat("#,######.##");  
  10.   System.out.println(f.format(1254855.53434));  
  11.   System.out.println(String.format("$%.2f", 2F));  
  12.     
  13.   StringBuilder sb = new StringBuilder();  
  14.   Formatter formatter = new Formatter(sb, Locale.US);  
  15.   System.out.println(formatter.format("PI = %20.10f"2323233.141592653589793284));  
  16.   System.out.println(String.format("%20.10f", Math.PI).length());  
  17.  }  
  18. }  

 输出结果为

1,254855.53
$2.00
PI =   2323233.1415926535
20

下面解释下

DecimalFormat:new DecimalFormat("#,######.##").format(1254855.53434);

这个是按照new DecimalFormat("#,######.##")的格式,来输出.format(1254855.53434)里的内容,所以结果为1,254855.53

formatter.format("PI = %20.10f", 2323233.141592653589793284)

输出结果为:PI =   2323233.1415926535

%20代表总共给这个字符串的空间数,可以用String.format("%20.10f", 2323233.141592653589793284).length()看到长度

如果%后的数字大于字符串长度,则不足位补空格,且右对齐

如果在%后加-,则是左对齐

如果%后的数字小于字符串长度,则自动分配跟字符串长度一样的空间数,若不加数字,则自动分配跟字符串长度一样的空间数

小数点后的数字和f代表小数点后可以有多少位

.10f为小数点后保留10位

猜你喜欢

转载自aoyouzi.iteye.com/blog/2315507