2016-06-10 54 views
0

我想通過從java代碼中調用shell腳本來更改我的信標的主要和次要值。 例如,如果我想將Major的值設置爲39321,則必須傳遞一個值爲99 99的字符串作爲shell代碼的參數。 如果我想將它設置爲34866,我必須通過十六進制代碼88 32。 如何從39321這樣的長數字轉換爲這個由99 99組成的十六進制數字的兩個字符?將長轉換爲十六進制

+0

用「%X」格式它的無符號整數是不夠的? –

+0

或'Long.toHexString'? –

+0

Long.toHexString會將39321更改爲0000000000000000000000000000003339333231而不是99 99.「%x」僅用於格式化它也不會將39321更改爲「99 99」 – Celiiine

回答

0

您可以使用toHexString(long i)方法從類。

例如:

Long.toHexString(39321) 

它返回long參數的字符串表示在基部16

+0

這將返回0000000000000000000000000000003339333231,我期望有99 99結果。 – Celiiine

+0

@Celiiine當我的日食測試時,我得到了字符串結果** 9999 **。我正在使用** jdk1.8.0_72 **並在窗口8上運行。 –