今天碰到一简单的功能,就是把字符串格式化成9位,不足的前面补0。懒人就想一行代码解决这个问题,后来发现能一行代码补足位数的,前面都是补的空格,而要想补0的,都是需要整数型。用到的函数是 String.format,可以格式化整形,字符串,日期等,具体请百度。

System.out.println(String.format(“%09d”, 123);
输出:000000123
System.out.println(String.format(“%9s”, “123″);
输出: 123
刚好我那字符串是可以转换成整型的,所以代码如下:
System.out.println(String.format(“%09d”, Long.parseLong(“123″)));
输出:000000123

摘下网上的字符串补0方法,未测试过:

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;
}