java中采用DecimalFormat类可以对数字进行格式化,用法如下:
注:下图中pattern字符串中的数字0也可以用#代替:
用0的时候:表示数字没有达到指定的位数时,用0补齐;
用#的时候:表示数字没有达到指定位数时,就不用补齐。
示例:
DecimalFormat df = new DecimalFormat("###.0"); System.out.println(df.format(pi));
输出结果:3.1
然而:
DecimalFormat df = new DecimalFormat("000.0"); System.out.println(df.format(pi));
输出结果:003.1
示例1:对double类型的数字进行格式化
pi=3.1415926
// 取一位整数
System.out.println(new DecimalFormat("0").format(pi));// 3
// 取一位整数和两位小数
System.out.println(new DecimalFormat("0.00").format(pi));// 3.14
// 取两位整数和三位小数,整数不足部分以0填补。
System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
// 取所有整数部分
System.out.println(new DecimalFormat("#").format(pi));// 3
// 以百分比方式计数,并取两位小数
System.out.println(new DecimalFormat("#.##%").format(pi));// 314.16%
示例2:对长整型进行格式化
long c = 23423435;
// 显示为科学计数法,并取五位小数
System.out.println(new DecimalFormat("#.#####E0").format(c));
// 显示为两位整数的科学计数法,并取四位小数
System.out.println(new DecimalFormat("00.####E0").format(c));
// 每三位以逗号进行分隔。
System.out.println(new DecimalFormat(",###").format(c));
// 将格式嵌入文本
System.out.println(new DecimalFormat("光速大小为每秒,###米。").format(c));