import java.text.NumberFormat; /** * 2013-10-24 * _zao */ public class TestNumberFormat { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { double num1 = 30.223; double num2 = -30.223; double num3 = 0.223; double num4 = 123456.223; NumberFormat nf = NumberFormat.getInstance(); //---------------------------------------------------------- String a = nf.getInstance().format(num1); // 返回当前缺省语言环境的缺省数值格式 30.223 System.out.println(a); //---------------------------------------------------------- String b = nf.getCurrencyInstance().format(num1); // 返回当前缺省语言环境的通用格式 ¥30.22 System.out.println(b); //---------------------------------------------------------- String c = nf.getNumberInstance().format(num1); // 返回当前缺省语言环境的通用数值格式 30.223 System.out.println(c); //---------------------------------------------------------- String d = nf.getPercentInstance().format(num1); // 返回当前缺省语言环境的百分比格式 3,022% System.out.println(d); //---------------------------------------------------------- // nf.setMaximumFractionDigits(2); //设置数值的小数部分允许的最大位数 30.22 // nf.setMinimumFractionDigits(4); //设置数值的小数部分允许的最大位数 30.2230 // nf.setMaximumIntegerDigits(4); //设置数值的整数部分允许的最大位数 3,456.223 nf.setMinimumIntegerDigits(1); //设置数值的整数部分允许的最大位数 String e = nf.format(num3); // 返回当前缺省语言环境的百分比格式 3,022% double des = Double.valueOf(e); System.out.println(e); System.out.println(des); } }
原文:http://blog.csdn.net/zhao50632/article/details/19543811