在Java中如何将int转换为带前导零的十六进制数?

19

我需要将数字1255address)转换为十六进制值01FEhexAddress)。

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

编辑:此问题不是重复问题。被引用为重复的问题具有已接受的答案,但该答案无法解决此情况,也未完全解释工作原理。

1个回答

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

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

$ 将参数索引与标志分隔开。

0 是一个标志,表示填充结果到指定位宽时要使用前导零。

2 是位宽。

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

您可以通过查看Java Formatter 类来了解更多可能的不同参数。


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