1、需求场景:从前端传过来的String参数,长度跟数据库的数据不一致,需求将参数补全至10位才能匹配

2、实现:直接贴代码:

public static String addZeroForNum(String str, int strLength) {
	    int strLen = str.length();
	    if (strLen < strLength) {
	        while (strLen < strLength) {
	            StringBuffer sb = new StringBuffer();
	            sb.append("0").append(str);// 左补0
	            // sb.append(str).append("0");//右补0
	            str = sb.toString();
	            strLen = str.length();
	        }
	    }
	    return str;
	}

 其中有两个参数,str是不足10位的字符串,strLength为要补全至多少位数(多长)。亲自测试过没问题。

本人测这个代码之前还测试过string.format,这个方法传入的参数是一个int型数据,返回String类型结果。类似这种String.format("%010d", Integer.valueOf(request.getSold_To())),如果传入的参数不是以0开头的时候,是可以实现跟上面一样的效果,但是当传入的参数以0开头的话,不能实现补全0的效果。我个人也还不知道什么原因。探索中。