1.需求
在写项目的时候要求生成的随机数中,位数为固定的长度,位数不够,就在前面补充0
public static String format( int num, int length ) {
StringBuilder stringBuilder = new StringBuilder();
for ( int i = 1; i <= length; i++ ) {
stringBuilder.append("0");
}
DecimalFormat df = new DecimalFormat(stringBuilder.toString());
return df.format(num);
}
public static void main(String[] args) {
System.out.println(format(10, 10));
}
2用法
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。
常用的占位符有0和#两种
①0表示实际占位符,位数不够自动补充0,给的数字位数超过初始化的大小,整数部分保持不变,小数部分,四舍五入
new DecimalFormat(“00.00”).format(3.14) //结果:03.14
new DecimalFormat(“0.000”).format(3.14) //结果: 3.140
new DecimalFormat(“00.000”).format(3.14) //结果:03.140
new DecimalFormat(“0.000”).format(13.146) //结果:13.146
new DecimalFormat(“00.00”).format(13.146) //结果:13.15
new DecimalFormat(“0.00”).format(13.146) //结果:13.15
②#整数表示实际的位数,小数点后面部分超过初始化位数四舍五入,不超过就按实际位数,不需要补充0
new DecimalFormat("##.##").format(3.14) //结果:3.14
new DecimalFormat("#.###").format(3.14) //结果: 3.14
new DecimalFormat("##.###").format(3.14) //结果:3.14
new DecimalFormat("#.###").format(13.146) //结果:13.146
new DecimalFormat("##.##").format(13.146) //结果:13.15
new DecimalFormat("#.##").format(13.146) //结果:13.15