下面是字符串,例如:
"Apple"
我想加零来填充8个字符:
"000Apple"
我该怎么做呢?
下面是字符串,例如:
"Apple"
我想加零来填充8个字符:
"000Apple"
我该怎么做呢?
当前回答
使用方法String::repeat的解决方案(Java 11)
String str = "Apple";
String formatted = "0".repeat(8 - str.length()) + str;
如果需要,将8更改为其他数字或将其参数化
其他回答
我喜欢用零填充字符串的解决方案
String.format("%1$" + length + "s", inputString).replace(' ', '0');
with length = "8" and inputString = "Apple"
public class LeadingZerosExample {
public static void main(String[] args) {
int number = 1500;
// String format below will add leading zeros (the %0 syntax)
// to the number above.
// The length of the formatted string will be 7 characters.
String formatted = String.format("%07d", number);
System.out.println("Number with leading zeros: " + formatted);
}
}
使用方法String::repeat的解决方案(Java 11)
String str = "Apple";
String formatted = "0".repeat(8 - str.length()) + str;
如果需要,将8更改为其他数字或将其参数化
StringUtils.leftPad(yourString, 8, '0');
这来自commons-lang。看到javadoc
这是快速的,适用于任何长度。
public static String prefixZeros(String value, int len) {
char[] t = new char[len];
int l = value.length();
int k = len-l;
for(int i=0;i<k;i++) { t[i]='0'; }
value.getChars(0, l, t, k);
return new String(t);
}