2016-06-10 5 views
0

Я хочу изменить значение майора и минора моего маяка, вызвав скрипт оболочки из java-кода. Если, например, я хочу установить значение Major на 39321, я должен передать строку со значением 99 99 в качестве параметра в код оболочки. Если я хочу установить его на 34866, я должен передать шестнадцатеричный код 88 32. Как преобразовать из длинного числа, такого как 39321, в этот два символа, состоящий из шести цифр, например 99 99?Преобразование из длинного в шестнадцатеричное

+0

Формат его с «% х» не хватает? –

+0

Или 'Long.toHexString'? –

+0

Long.toHexString изменит значение 39321 на 0000000000000000000000000000003339333231, а не 99 99. «% x» только для форматирования также не изменится 39321 на «99 99» – Celiiine

ответ

0

Вы можете использовать toHexString (long i) метод от Long класс.

Например:

Long.toHexString(39321) 

Возвращает строковое представление длинного аргумента как целое число без знака в базе 16.

+0

Это вернет 0000000000000000000000000000003339333231, я ожидаю, что у вас будет 99 99. – Celiiine

+0

@Celiiine Я получил результат строки ** 9999 ** при тестировании с моим затмением. Я использую ** jdk1.8.0_72 ** и запускаю в окне 8. –