Integer.decode(String s)为某些字符串抛出NumberFormatException
问题描述:
Exception in thread "main" java.lang.NumberFormatException: For input string: "64403F "
at java.lang.NumberFormatException.forInputString(Unknown Source)
但它适用于许多输入,如A89B88,927F66,FFDB58。你能帮我理解这里发生的事情吗?Integer.decode(String s)为某些字符串抛出NumberFormatException
答
您的String
即投掷NumberFormatException
结束于空白"64403F "
。在解析之前,请致电String
上的trim()
。使用Integer.parseInt(String, int)
String str = "64403F ";
System.out.println(Integer.parseInt(str.trim(), 16));
String str = "64403F ";
System.out.println(Integer.decode("0x" + str.trim()));
输出是
6570047
这些都不例子作品,如果你不加'0x'他们(例如,'0xA89B88 ')。 – Tom 2014-09-30 21:49:00