【问题】
需要将一个字符串,可能是十进制:
比如
123
也可能是16进制:
0x123
转换为int值。
【折腾过程】
1.参考:
How to convert string to int in Java?
去试试,
	void strToIntTest(){
		String testStr1 = "123";
		String testStr2 = "0x123";
		
		int convertedIntValue1 = Integer.parseInt(testStr1);
		int convertedIntValue2 = Integer.parseInt(testStr2);
		System.out.println("convertedIntValue1=" + convertedIntValue1 + ", convertedIntValue2=" + convertedIntValue2);
	}应该就可以了。
结果调试发现:
int convertedIntValue2 = Integer.parseInt(testStr2);
会挂掉。
2.然后自己去试试,通过自带文档,发现有个decode:
然后去试试:
	void strToIntTest(){
		String testStr1 = "123";
		String testStr2 = "0x456";
		
		int convertedIntValue1 = Integer.parseInt(testStr1);
		//int convertedIntValue2 = Integer.parseInt(testStr2);
		int convertedIntValue2 = Integer.decode(testStr2);
		
		System.out.println("convertedIntValue1=" + convertedIntValue1 + ", convertedIntValue2=" + convertedIntValue2);
	}结果,虽然工作了。
却又遇到:
【已解决】android中使用System.out.println结果不工作:无法在ADT的LogCat或console中看到输出结果
【总结】
直接调用
Integer.parseInt
即可将string转为int,但是不支持0x123的形式。
最后去用:
Integer.decode("0x123");
才可以。
转载请注明:在路上 » 【已解决】android中的java中的string转int
