public class Test
{
public static void main(String[] args)
{
String s = "7fffffff";
int n = Integer.parseInt(s,16);
System.out.println(s);
System.out.println(n);
}
}如果把字符串s中的7改为8,9,A--F。
怎么就抛出NumberFormatException异常呢?(0--7可以)
如果字符串s的长度小于8的话,前面可以是8,9……请问怎么回事?
谢谢 !
{
public static void main(String[] args)
{
String s = "7fffffff";
int n = Integer.parseInt(s,16);
System.out.println(s);
System.out.println(n);
}
}如果把字符串s中的7改为8,9,A--F。
怎么就抛出NumberFormatException异常呢?(0--7可以)
如果字符串s的长度小于8的话,前面可以是8,9……请问怎么回事?
谢谢 !
把n的类型 改成 long 就好了.
一个int型32位,最高位符号位
难道如果是负数的话需在前面加上“-”号吗?疑惑的是首先对于一个整数不知道是正还是负(从文本域中输入16进制字符串)
然后转换成整数
那这怎么办呢?谢谢!
int a = (int)Long.parseLong(str, 16);如果要转换成一个long型时,可以这样
long lsb = Long.parseLong(str.subString(8,16), 16);
long msb = Long.parseLong(str.subString(0,8), 16);
long key = (msb << 32) + lsb;