Я хочу изменить значение майора и минора моего маяка, вызвав скрипт оболочки из java-кода. Если, например, я хочу установить значение Major на 39321
, я должен передать строку со значением 99 99
в качестве параметра в код оболочки. Если я хочу установить его на 34866
, я должен передать шестнадцатеричный код 88 32
. Как преобразовать из длинного числа, такого как 39321, в этот два символа, состоящий из шести цифр, например 99 99
?Преобразование из длинного в шестнадцатеричное
0
A
ответ
0
Вы можете использовать toHexString (long i) метод от Long класс.
Например:
Long.toHexString(39321)
Возвращает строковое представление длинного аргумента как целое число без знака в базе 16.
+0
Это вернет 0000000000000000000000000000003339333231, я ожидаю, что у вас будет 99 99. – Celiiine
+0
@Celiiine Я получил результат строки ** 9999 ** при тестировании с моим затмением. Я использую ** jdk1.8.0_72 ** и запускаю в окне 8. –
Формат его с «% х» не хватает? –
Или 'Long.toHexString'? –
Long.toHexString изменит значение 39321 на 0000000000000000000000000000003339333231, а не 99 99. «% x» только для форматирования также не изменится 39321 на «99 99» – Celiiine