DecimalFormat是用来对数字进行格式化的,DecimalFormat是NumberFormat的子类,不仅具备NumberFormat格式化数字的方法,还定义了更多的格式化数字的方法。
DecimalFormat定义了一些符号,作为格式化字符串的模板,其中主要用的有#和0。
0:表示整数或小数部分时,实际数字整数超过模板位数不处理,不足则最左侧补0;小数部分超过模板位数截取,不足补0。
#:表示整数或小数部分时,实际数字整数位数超过或不够不做处理;小数位数超过模板位数截取,不足不补足。
看demo:
package com.itzhimei;
import java.text.DecimalFormat;
import java.text.ParseException;
public class TestDecimalFormat {
public static void main(String[] args) throws ParseException {
DecimalFormat df = new DecimalFormat("00.00000");
String format = df.format(12345.12);
System.out.println(format);
/* 输出:整数位超过模板不处理,小数位不足则补0
12345.12000
*/
DecimalFormat df2 = new DecimalFormat("##.######");
String format2 = df2.format(12345.12);
System.out.println(format2);
/* 输出:整数位超过模板不处理,小数位不足不处理
12345.12
*/
DecimalFormat df3 = new DecimalFormat("000000.0");
String format3 = df3.format(12345.12);
System.out.println(format3);
/* 输出:整数位少于模板则补0
012345.1
*/
DecimalFormat df4 = new DecimalFormat("######.#");
String format4 = df4.format(12345.12);
System.out.println(format4);
/* 输出:整数位少于模板位数不处理,小数位大于模板位数截取
12345.1
*/
}
}