如何在Java中使用前导零将int转换为十六进制?

Mor*_*n G 6 java

我需要将数字转换1255(address)到十六进制值01FE(hexAddress).

来自01to的值必须有一个前导0 0F,字母必须是大写,并且不能有0x十六进制值前置.

编辑:这个问题不重复.引用它作为重复的问题有一个公认的答案,不适用于这种情况,也没有完全解释它是如何工作的.

Mor*_*n G 11

String hexAddress = String.format("%1$02X",address);
Run Code Online (Sandbox Code Playgroud)

%1意味着这些标志是第一个参数.在这种情况下,只有一个参数.

$ 将参数索引与标志分开

0 是一个标志,表示将结果填充到前导零到指定的位宽.

2 位宽

X意味着将数字转换为十六进制,并使用大写字母.x将转换为十六进制并使用小写字母.

您可以通过检查Java Formatter类来阅读有关不同可能参数的更多信息.