场景

现在要将4在前面补位为0004。

实现

1.首先将方法包装为工具类

String waterCode= CommonUtils.fillZeroBeforeString(String.valueOf(max),4);

其中max为最大值即4,第二个参数4是要将其补位为4位。

2.来到CommonUtils这个工具类中

public static String fillZeroBeforeString(String str , int length) {
return fillStringBeforeString(str,"0",length);
}

用一层静态方法进行封装调用

public static String fillStringBeforeString(String str ,String fill, int length) {
if(str.length() < length) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < length - str.length() ; i++) {
sb.append(fill);
}
sb.append(str);
return sb.toString();
}else {
return str;
}
}

其中str是需补位的字符串

fill是填补的字符串

length是指定的位数

示例代码

max+=1;
String waterCode= CommonUtils.fillZeroBeforeString(String.valueOf(max),4);

打断点效果:

Java中实现按字符串位数在前面补0_补位0