2016-06-10 10 views
0

Ich möchte auf den Wert des Major und Minor von meinem Beacon ändern, indem Sie ein Shell-Skript aus einem Java-Code aufrufen. Wenn ich zum Beispiel den Wert des Major auf 39321 setzen möchte, muss ich eine Zeichenfolge mit dem Wert 99 99 als Parameter an den Shell-Code übergeben. Wenn ich es auf 34866 setzen möchte, muss ich den Hex-Code 88 32 übergeben. Wie kann ich von einer langen Zahl wie der 39321 zu dieser zweistelligen Hexzahl wie 99 99 konvertieren?Convert von Long zu hex

+0

Format mit "x%" ist nicht genug? –

+0

Oder 'Long.toHexString'? –

+0

Long.toHexString wird 39321 zu 000000000000000000000000000000003339333231 und nicht 99 99 ändern. "% X" ist nur für die Formatierung wird es auch nicht ändern 39321 zu "99 99" – Celiiine

Antwort

0

können Sie toHexString verwenden (long i) Methode von Lange Klasse.

Zum Beispiel:

Long.toHexString(39321) 

Es gibt eine Zeichenfolge Darstellung des langen Arguments als unsigned integer in Basis 16

+0

Dies wird 000000000000000000000000000000003339333231 zurückgeben, ich erwarte 99 99 als Ergebnis. – Celiiine

+0

@Celiiine Ich habe String-Ergebnis ** 9999 ** beim Testen mit meiner Eclipse. Ich verwende ** jdk1.8.0_72 ** und läuft auf Fenster 8. –