转:http://www.cnblogs.com/archie2010/archive/2010/12/17/1909469.html
?
package com.tq365.util;
import java.text.NumberFormat;
import java.util.Locale;
public class FormatTest {
??? public static void main(String[] args) {
??????? //无格式化输出
??????? double d=10000.0/3.0;
??????? System.out.println("无格式化输出:"+d);
???????
??????? NumberFormat numberFormat=NumberFormat.getNumberInstance();
??????? //保留四位小数
??????? //numberFormat.setMaximumFractionDigits(4);
??????? //小数点前六位数字
??????? //numberFormat.setMinimumIntegerDigits(6);
??????? //System.out.println(numberFormat.format(d));
??????? //本地默认格式3,333.333
??????? System.out.println(numberFormat.format(d));
???????
??????? //使用本地默认格式输出货币值
??????? NumberFormat? currentFormat=NumberFormat.getCurrencyInstance();
??????? //¥3,333.33
??????? System.out.println("本地默认格式输出货币值:"+currentFormat.format(d));
???????
??????? //使用本地默认格式输出百分数
??????? NumberFormat percentFormat=NumberFormat.getPercentInstance();
??????? System.out.println("本地默认格式输出百分数:"+percentFormat.format(d));
???????
??????? //使用美国货币输出形式
??????? NumberFormat currentFormatUS=NumberFormat.getCurrencyInstance(Locale.US);
??????? //$3,333.33
??????? System.out.println("美国货币输出形式:"+currentFormatUS.format(d));
???????
??? }
}
?
DecimalFormat
?
下面是自己的方式:
double dou = 150000/3.5;
System.out.println("原版:"+dou);
?
//每三位以逗号分隔,并保留2位小数
System.out.println(String.format("%1$,.2f", dou));
?