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

时间:2017-08-03 23:16:34

标签: java

我需要将数字1转换为255address)为从01FEhexAddress)的十六进制值。

010F的值必须有前导0,字母必须为大写,并且不能在十六进制值前加0x

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

1 个答案:

答案 0 :(得分:8)

String hexAddress = String.format("%1$02X",address);

%1表示这些标志用于第一个参数。在这种情况下,只有一个参数。

$将参数索引与标志

分开

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

2是位宽

X表示将数字转换为十六进制,并使用大写字母。 x会转换为十六进制并使用小写字母。

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