package test ;
import java.text.DecimalFormat;
import java.util.Formatter;
import java.util.Locale;
public class DADB {
public static void main(String[]atrgs)
{
DecimalFormat f = new DecimalFormat("#,######.##");
System.out.println(f.format(1254855.53434));
System.out.println(String.format("$%.2f", 2F));
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb, Locale.US);
System.out.println(formatter.format("PI = %20.10f", 2323233.141592653589793284));
System.out.println(String.format("%20.10f", Math.PI).length());
}
}
输出结果为
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位
黑色头发 http://heisetoufa.iteye.com
如果发现本文有误,欢迎批评指正