Как форматировать числа в шестнадцатеричные строки?

Я хочу форматировать числа int как шестнадцатеричные строки. System.out.println(Integer.toHexString(1)); печатает 1, но я хочу, чтобы он был 0x00000001. Как это сделать?

Ответ 1

Попробуйте это

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

Ответ 2

Вы можете использовать String.format для форматирования целого числа в виде шестнадцатеричной строки.

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

То есть, pad с нулями и сделать полную ширину 8. 1 преобразуется в hex для вас. Вышеприведенная строка дает: 0x00000001 и

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

дает: 0x000000EA

Ответ 3

Из синтаксиса форматирования, документированного на Java Formatter class:

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

Ответ 5

Я не слишком хорошо знаю Java, но должен быть способ выставить вывод из функции toHexString с "0" на длину 8. Если "0x" всегда будет в начале, просто нажмите на эту строку до начала.