我写这篇文章没有问题:(它也没有任何错误)
int hex = 0xFFFFFFFF;
整数也必须有一个alpha值!
但当我尝试这样做时:
Integer hex = Integer.parseInt("0xFFFFFFFF");
// Or I try this:
Integer hex = Integer.parseInt("FFFFFFFF");
我被java.lang.NumberFormatException: For input string: "0xFFFFFFFF"
抛出了!
为什么这不起作用?
我猜测还有其他方法可以解析我刚才没有意识到的十六进制整数,而且我真的需要能够从字符串中解析十六进制为我正在制作的程序。
答案 0 :(得分:1)
实际上有一个单独的函数可以定义基数:
https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String,%20int)
Integer.parseInt(x)
只需拨打Integer.parseInt(x, 10)
,因此您必须指定基数为10的数字。
为了解析十六进制字符串,您只需使用以下内容(请注意,不允许使用0x前缀):
Integer.parseInt("FFFFFFF", 16);