很多情况下都会用到补零操作,譬如说工号01,0003什么的。以下代码用for循环和while循环实现简单的补零操作(在数字之前补零),可以补一个零,也可以补多个零。
public class AddZero {
public static void main(String[] args) {
//补1个零:使用while循环
System.out.println(addZeroInWhile(9,2));//09
//补1个零:使用for循环
System.out.println(addZeroInFor(9,2));//09
}
/**
* 该方法使用while进行补零,譬如将数字9变成09,009,就需要对9补上2个3个零
* @param int num:需要补零的数字
* @param int len:补零之后数字的总长度
* **/
public static String addZeroInWhile(int num,int len){
StringBuffer sf = new StringBuffer();
sf.append(num);
int diff = len-sf.length();
if(diff>0){
while(sf.length()<len){//若长度不足进行补零
sf.insert(0,"0");//每次都在最签名补零
}
}
return sf.toString();
}
/**
* 该方法使用for循环进行补零,譬如将数字9变成09,009,就需要对9补上2个3个零
* @param int num:需要补零的数字
* @param int len:补零之后数字的总长度
* **/
public static String addZeroInFor(int num,int len){
StringBuffer sf = new StringBuffer();
sf.append(num);
int diff = len-sf.length();
if(diff>0){//说明位数不足
for(int i=0;i<diff;i++){
sf.insert(0,"0");
}
}
return sf.toString();
}
}