有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java是一种更好的用零填充字符串的方法

这就是我如何用零填充字符串的方式:

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

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


共 (3) 个答案

  1. # 1 楼答案

    实现您自己的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 demo

  2. # 2 楼答案

    您可以从Apache Commons使用StringUtils:

    StringUtils.leftPad(cardTypeString, 16, '0');