我需要将数字1
至255
(address
)转换为十六进制值01
至FE
(hexAddress
)。
对于从01
到0F
的值,必须有前导零,字母必须大写,并且十六进制值前不能加0x
。
编辑:此问题不是重复问题。被引用为重复的问题具有已接受的答案,但该答案无法解决此情况,也未完全解释工作原理。
我需要将数字1
至255
(address
)转换为十六进制值01
至FE
(hexAddress
)。
对于从01
到0F
的值,必须有前导零,字母必须大写,并且十六进制值前不能加0x
。
编辑:此问题不是重复问题。被引用为重复的问题具有已接受的答案,但该答案无法解决此情况,也未完全解释工作原理。
String hexAddress = String.format("%1$02X",address);
%1
表示这些标志是用于第一个参数的。在这种情况下,只有一个参数。
$
将参数索引与标志分隔开。
0
是一个标志,表示填充结果到指定位宽时要使用前导零。
2
是位宽。
X
表示将数字转换为十六进制,并使用大写字母。 x
则会转换为十六进制并使用小写字母。
您可以通过查看Java Formatter 类来了解更多可能的不同参数。