如何使用Integer.parseInt(String,int)将String转换为十进制

时间:2014-08-27 08:34:19

标签: parseint

我正在尝试使用“Integer.parseInt(”0x16“,10)将”0x16“和”0b10“转换为十进制”,但我一直收到此错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "0x16"

1 个答案:

答案 0 :(得分:2)

Integer.parseint函数的第一个参数是一个表示数字的字符串,第二个参数是一个基数(或基数)。

“0x16”由两部分组成,“0x”表示基数为16,“16”表示十六进制数。

如果要获取整数值“0x16”,代码将为

int aValue;
aValue = Integer.parseint("16",16);

然后,您可以通过以下代码

显示十进制值
printf("%d" , aValue);

要点是 1.二进制,十进制和十六进制是通过字符串表示整数值的格式。 2.“0x16”和“0b10”是'base'和'value'的组合(在字符串中)。 3.要将组合字符串转换为整数,请使用Inter.parseint,其中'string'作为第一个参数,'base'作为第二个参数。 (0x表示'base是16',0b表示'base是2'等) 例如:  “0x16”:parseint(“16”,16);  “0b10”:parseint(“10”,2);