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

场景

现在要将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)