在Java中,我想获取一个表示十六进制的字符串并将其转换为int,同时保留“0x”前缀

时间:2012-07-31 18:03:26

标签: java hex int

看看int a和int b在十六进制值之前如何具有前缀“0x”?我想从一个字符串中做更多这些。我试图使用Integer的parseInt,但是我得到了一个N​​umberFormatException。有人可以帮忙吗?

int a = 0xA;
int b = 0x4;
String f = "0xF";    
int d = Integer.parseInt(f, 16);

我想要“int d = 0xF”

2 个答案:

答案 0 :(得分:6)

这个怎么样?

String f = "0xF";    
int d = Integer.parseInt(f.substring(2), 16);
System.out.println(d);

<强>输出:

15

答案 1 :(得分:3)

尝试:

Integer.decode("0x64");

之前在SO中提出了一个类似的问题,这里有一个更多信息的链接:

Parsing integer strings in Java