2014-09-30 36 views
0
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

+2

这些都不例子作品,如果你不加'0x'他们(例如,'0xA89B88 ')。 – Tom 2014-09-30 21:49:00

回答

0

您的String即投掷NumberFormatException结束于空白"64403F "。在解析之前,请致电String上的trim()。使用Integer.parseInt(String, int)

String str = "64403F "; 
System.out.println(Integer.parseInt(str.trim(), 16)); 

或者,使用Integer.decode(String)

String str = "64403F "; 
System.out.println(Integer.decode("0x" + str.trim())); 

输出是

6570047 
相关问题