将字符串转换为十六进制

Nuñ*_*ada 0 java hex numbers number-formatting numberformatter

我想将此字符串“ 123456”转换为十六进制 String.format("%016x", "123456")

但我有一个错误

Exception in thread "main" java.util.IllegalFormatConversionException: x != java.lang.String
    at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4302)
    at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2793)
    at java.util.Formatter$FormatSpecifier.print(Formatter.java:2747)
    at java.util.Formatter.format(Formatter.java:2520)
    at java.util.Formatter.format(Formatter.java:2455)
    at java.lang.String.format(String.java:2940)
    at Asdfsaf.main(Asdfsaf.java:22)
Run Code Online (Sandbox Code Playgroud)

小智 5

值fo x必须为整数。

String.format("%016x", Integer.valueOf("123456"));
Run Code Online (Sandbox Code Playgroud)

结果:

000000000001e240
Run Code Online (Sandbox Code Playgroud)