这是如何使用零填充字符串的方法:
String.format("%16s", cardTypeString.trim()).replace(' ', '0');
有更好的方法吗?我不喜欢.replace(' ', '0')
这部分。
实现自己的 PadLeft
:
public static String padLeft(String value, int width, char pad) {
if (value.length() >= width)
return value;
char[] buf = new char[width];
int padLen = width - value.length();
Arrays.fill(buf, 0, padLen, pad);
value.getChars(0, value.length(), buf, padLen);
return new String(buf);
}
// Pad with zeros and a width of 10 chars.
String.format("%1$010d", 245)
更多细节请参见https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html
抱歉,我的错。这只适用于int,而不是String!