用更好的方法在字符串左侧填充零

5

这是如何使用零填充字符串的方法:

String.format("%16s", cardTypeString.trim()).replace(' ', '0');

有更好的方法吗?我不喜欢.replace(' ', '0')这部分。

3个回答

6
您可以使用Apache Commons中的StringUtils:
StringUtils.leftPad(cardTypeString, 16, '0');

4

实现自己的 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);
}

请查看IDEONE演示

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接