目录
1、String.format
%06d的定义:
0代表前面要补的字符
6代表字符串长度
d表示参数为整数类型
//左边加0
String str = String.format("%06d", 12345);
System.out.println(str);
2、NumberFormat.getInstance()
//左边加0
int str = 12345;
NumberFormat numFormat= NumberFormat.getInstance();
// 设置是否使用分组
numFormat.setGroupingUsed(false);
// 设置最小整数位数
numFormat.setMinimumIntegerDigits(6);
3、StringUtils.leftPad
// 右边填充:11100
System.out.println(StringUtils.rightPad("111", 6, "0"));
// 左边填充:000111
System.out.println(StringUtils.leftPad("111", 6, "0"));
4、自定义方法 append拼接
public class BaseTest {
public static void main(String[] args) {
System.out.println(addZeroWithStr("111", 6, 1));
}
/**
* 给字符串的左补0或右补0
* @param str 要处理的字符串
* @param length 补0后字符串总长度
* @param type 1-左补0 2-右补0
* @return
*/
public static String addZeroWithStr(String str, int length, int type) {
int strLen = str.length();
if (strLen < length) {
while (strLen < length) {
StringBuffer sbf = new StringBuffer();
if (type == 1) {
// 左补0
sbf .append("0").append(str);
} else if (type == 2) {
//右补0
sbf.append(str).append("0");
}
str = sbf.toString();
strLen = str.length();
}
}
return str;
}
}