2015-02-07 160 views
2

我試圖將int轉換爲十六進制格式0x12 0x2B等。是否有類似python:https://docs.python.org/2/library/functions.html#hex 要完成此操作,否則我需要在許多不必要的步驟中解決此問題?Java詮釋爲十六進制與0x

我需要得到像下面這樣:

int []hexInt={0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01}; 

謝謝

+2

你的意思是你想'數字的字符串表示形式爲十六進制? – 2015-02-07 22:26:54

+0

可能重複的[Java轉換整數到十六進制整數](http://stackoverflow.com/questions/9321553/java-convert-integer-to-hex-integer) – Aradmey 2015-02-07 22:29:30

+0

我需要int作爲顯示int [] hexInt = {0x00等等} – Anak1n 2015-02-07 22:30:06

回答

6

你可以聲明String這將等於"0x" + Integer.toHexString(int)

+0

我做到了,但是當我想解析字符串到int它不能解析0x1b到int它拋出數字格式異常,但它接受數組int [] hexInt = {0x1b}我很困惑。 – Anak1n 2015-02-07 22:35:27

+0

做我上面說的,然後以這種方式存儲'Integer.parseInt(num.substring(2),16);'。這將在解析之前從字符串中移除「0x」。 – Aradmey 2015-02-07 22:37:42

+1

@ Anak1n爲了解析hexString返回你的十進制int,你需要刪除'0x'部分並提供基數,比如'Integer.parseInt(「100」,16)'將被解析爲'256'。 – Pshemo 2015-02-07 22:37:44

0
public static String intToHexStr(int i){ 
    return "0x"+String.format("%2s", Integer.toHexString(i)).replace(' ', '0'); 
}