2013-09-27 113 views
4

我有一個很多十六進制數字的文件(例如 - 0X3B4)。我試圖分析這個文件分配這些數字整數,但似乎並沒有得到Integer.parseInt工作。java十六進制爲int轉換 - 必須刪除0X?

int testint = Integer.parseInt("3B4",16); <- WORKS 

    int testint = Integer.parseInt("0X3B4",16); 

給出了錯誤:

Exception in thread "main" java.lang.NumberFormatException: For input string: "0x3b4" 
     at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 

什麼是分配價值0XB4爲int的正確方法?

難道我擺脫0X的 - 它的不尋常的代表十六進制號這樣...

回答

8

你可以做

int hex = Integer.decode("0x3b4"); 

你是正確的,parseInt函數和parseLong會不接受0x或0X

+0

謝謝。此外,這不適用於Java 1.4.1,但我可以在更高版本中使用它。 – Nik

+0

@Nik我懷疑1.4.1現在已經十歲了。 ;) –

相關問題