有两种方式。
1,
/**
* 将字符串左侧补0
* @param number int类型数据
* @param num 想要补0的位数
* @return
*/
public static String intFormat(int number , int num){
// 0 代表前面补充0
// num 数据前补num个0
// d 代表参数为正数型
String str = String.format("%0"+(num+1)+"d", number);
return str;
}
2,
/**
* 将字符串左侧补0
* @param str 字符串
* @param num 想要补0的位数
* @return
*/
public static String StringFormat(String str,int num){
String STR_FORMAT = "";
for(int i=0;i<num+1;i++){
STR_FORMAT=STR_FORMAT.concat("0");
}
Integer intHao = Integer.parseInt(str);
DecimalFormat df = new DecimalFormat(STR_FORMAT);
return df.format(intHao);
}
延伸:
/**
*如果数据为1位,将字符串左侧补0
* @param number int类型数据
* @param num 想要补0的位数
* @return
*/
public static String intF(int number , int num){
String s = null ;
if(number<10){
s=String.format("%0"+(num+1)+"d", number);
}else{
s=number+"";
}
return s;
}
/**
* 如果字符串为1位,将字符串左侧补0
* @param str 字符串
* @param num 想要补0的位数
* @return
*/
public static String StringF(String str,int num){
String STR_FORMAT = "";
String s = null ;
if(str.length()==1){
for(int i=0;i<num+1;i++){
STR_FORMAT=STR_FORMAT.concat("0");
}
Integer intHao = Integer.parseInt(str);
DecimalFormat df = new DecimalFormat(STR_FORMAT);
s=df.format(intHao);
}else{
s=str;
}
return s;
}
测试及结果:
public static void main(String[] args) {
int youNumber = 1;
System.out.println(intFormat(youNumber,3));
String i = "1";
System.out.println(StringFormat(i,1));
System.out.println(intF(1,1)+" -- "+intF(10,1));
String [] str ={"90","1","1a","9","0","20","08","d1","0"};
String strs = "";
for(int j=0;j<str.length;j++){
strs+=StringF(str[j], 1);
}
System.out.println(strs);
}