一、介绍
DecimalFormat是NumberFormat的一个具体子类,用于格式化十进制数字。DecimalFormat包含一个模式和一组符号:
符号含义:
1、0 表示一个数字,如果不存在则显示为0
2、# 表示一个数字,不包括0,不显示则为空
3、. 表示小数的分隔符的占位符
4、, 表示分组分隔符的占位符
5、- 减号,表示输出为负数,要放在最前面
等。
二、测试代码
double d = 155.6482;
//实例化DecimalFormat类的对象,并指定格式
//取整数部分和小数点后一位
DecimalFormat decimalFormat1 = new DecimalFormat("0.0");
//取整数部分和小数点后一位,若小数部分为0时,不显示小数
DecimalFormat decimalFormat2 = new DecimalFormat("#.#");
//取整数部分(前四位没有时补0)和小数点后四位
DecimalFormat decimalFormat3 = new DecimalFormat("0000.0000");
//取整数部分和小数点后两位
DecimalFormat decimalFormat4 = new DecimalFormat("#.##");
//整数部分每一位用 , 分隔
DecimalFormat decimalFormat5 = new DecimalFormat("#,#");
//-减号 表示输出为负数,要放在最前面
DecimalFormat decimalFormat6=new DecimalFormat("-000.00");
//混合字符串文字,数字取整数部分
DecimalFormat decimalFormat7=new DecimalFormat("字符串 '#' # 数字");
System.out.println("0.0格式:" + decimalFormat1.format(d));
System.out.println("#.#格式:" + decimalFormat2.format(d));
System.out.println("#.#格式,小数部分为0时:" + decimalFormat2.format(11.0));
System.out.println("0000.0000格式:" + decimalFormat3.format(d));
System.out.println("#.##格式:" + decimalFormat4.format(d));
System.out.println(",分隔:"+decimalFormat5.format(d));
System.out.println("减号:"+decimalFormat6.format(d));
System.out.println("混合字符串文字:"+decimalFormat7.format(d));