在java中将十六进制字符串转换为十六进制整数

时间:2015-02-27 11:23:08

标签: java hex type-conversion

我有十六进制字符串,例如。 " 0x103E" ,我想将其转换为整数。 手段String no = "0x103E";    到int hexNo = 0x103E; 我试过了Integer.parseInt("0x103E",16);,但它给出了数字格式异常。 我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

你只需要忽略" 0x"部分(因为它实际上并不是数字的一部分)。

您还需要确保您正在解析的数字实际上符合Java中长度为4个字节的整数,因此它需要短于8位作为十六进制数。

答案 1 :(得分:0)

不需要去掉“0x”前缀;只需使用 Integer.decode 而不是 Integer.parseInt

int x = Integer.decode("0x103E");
System.out.printf("%X%n", x);