我需要将数字1
转换为255
(address
)为从01
到FE
(hexAddress
)的十六进制值。
从01
到0F
的值必须有前导0,字母必须为大写,并且不能在十六进制值前加0x
。
编辑:这个问题不重复。引用它作为重复的问题有一个公认的答案,不适用于这种情况,也没有完全解释它是如何工作的。
答案 0 :(得分:8)
String hexAddress = String.format("%1$02X",address);
%1
表示这些标志用于第一个参数。在这种情况下,只有一个参数。
$
将参数索引与标志
0
是一个标志,表示将结果填充到前导零到指定的位宽。
2
是位宽
X
表示将数字转换为十六进制,并使用大写字母。 x
会转换为十六进制并使用小写字母。
通过检查Java Formatter类,您可以阅读有关不同可能参数的更多信息。