parseint 中的数字格式异常

Number format exception in parse int

public static void main(String[] args)throws IOException {
  String s ="12312a";
  int x = Integer.parseInt(s);
  System.out.println (x+2);
}

我得到的是:

Exception in thread "main" java.lang.NumberFormatException: For input string: "12312a"

有什么提示吗?

如果 String 不是数字,则无法将 String 解析为 int

例如:

这将编译

String num = "3245";
int x = Integer.parseInt(num);

这不会:

String s ="12312a";
int x = Integer.parseInt(s);

从您的 String 中删除 a

如果要将其解析为 hexadecimal 值,请使用

int x = int x = Integer.parseInt(s, 16);

这会将其解析为 16 进制数。

也许你的意思是

int x = Integer.parseInt("12312a", 16);

如果您尝试解析 String 而不是数字,您会得到 java.lang.NumberFormatException.

也许你想解析一个十六进制值,那么你可以使用:

public static void main(String[] args) throws IOException {
 String s ="12312a";
 int x = Integer.parseInt(s,16);
 System.out.println (x+2);
}

希望对您有所帮助。祝你有个愉快的一天。