如何在 java 中用 0 填充十六进制数字?

How can I pad a hexadecimal digit with 0 in java?

我正在尝试用 0 开头填充一个十六进制数字,以便它的长度始终为 4。例如,FF 将被填充为 00FF。我曾尝试使用 String.format("%04d", number) 但它不起作用,因为我的十六进制数字实际上是一个字符串。 我也尝试过使用 StringUtils.leftPad() 但出于某种原因,IntelliJ 无法检测到它。

请注意我的计数将发生变化,但我尚未在此处展示它,因为我尚未实施它。这是我的示例代码。谢谢

    public static void main(String[] args) {
        int count = 0;
        String orderID = Integer.toHexString(count).toUpperCase();
        System.out.println(String.format("%04d", Integer.valueOf(orderID)));
        
    }
String.format("%04x", 255)

有输出

00ff

(或使用 X 表示大写十六进制数字)

作为@user16320675 点,有关 Formatter here.

的更多信息