字符串這是怎麼了,我離開墊0的字符串:左填充的一種更好的方式與零
String.format("%16s", cardTypeString.trim()).replace(' ', '0');
有沒有更好的方式來做到這一點?我不喜歡.replace(' ', '0')
部分。
字符串這是怎麼了,我離開墊0的字符串:左填充的一種更好的方式與零
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);
}
您可以使用StringUtils的從Apache Commons:
StringUtils.leftPad(cardTypeString, 16, '0');
// 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!