Java中将0x开头的十六进制字符串转换成十进制整数

时间:2021-07-20 10:13:46

1、Integer.toString(int i)

 由于input(输入数据)是以0x开头的字符串,并不是整型。因而在用

String s = Integer.toString(input);

时用会由于参数类型不匹配而无法正常运行。而

String s = Integer.toString(0x8100);
System.out.println(s);

则可正常输出0x8100的10进制值33024.

2、Integer.parseInt(String s, int radix)

  该函数要求参数s为全数字。如“8100”,而对于“0x8100"则不能进行运算。所以对于ox开头的字符串需要先截取数字

子串,再进行换算。

long out = Integer.parseInt(input.substring(2, input.length()), 16);

即可将0x开头的十六进制字符串转换成十进制整数。