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
Antwort
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
Dies wird 000000000000000000000000000000003339333231 zurückgeben, ich erwarte 99 99 als Ergebnis. – Celiiine
@Celiiine Ich habe String-Ergebnis ** 9999 ** beim Testen mit meiner Eclipse. Ich verwende ** jdk1.8.0_72 ** und läuft auf Fenster 8. –
Format mit "x%" ist nicht genug? –
Oder 'Long.toHexString'? –
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