如何将数字格式化为hex字符串?

我想将int数字格式化为hex字符串。 System.out.println(Integer.toHexString(1)); 打印1但我希望它为0x00000001 。 我怎么做?

试试这个

 System.out.println(String.format("0x%08X", 1)); 

您可以使用String.format将整数格式化为hex字符串。

  System.out.println(String.format("0x%08X", 1)); 

也就是说,用零填充,并使总宽度为8.为您转换为hex。 上面的行给出: 0x00000001

  System.out.println(String.format("0x%08X", 234)); 

给出: 0x000000EA

从Java的Formatter类中记录的格式化语法:

 Integer intObject = Integer.valueOf(1); String s = String.format("0x%08x", intObject); System.out.println(s); 

您可以在PrintStream上使用java.util.Formatter或printf方法 。

我不太了解Java,但必须有一种方法可以将toHexString函数的输出填充为’0’到8的长度。如果“0x”始终在开头,那么只需要字符串到开头。