3 回答
TA贡献1859条经验 获得超6个赞
正如文档中明确指出Character.getNumericValue()的那样,以数字形式返回字符的值。如果字符不是数字
,则返回-1。
如果要获取装箱Character对象的数字Unicode代码点,则需要先将其拆箱:
int value = (int)c.charValue();
TA贡献1869条经验 获得超4个赞
public class IntergerParser {
public static void main(String[] args){
String number = "+123123";
System.out.println(parseInt(number));
}
private static int parseInt(String number){
char[] numChar = number.toCharArray();
int intValue = 0;
int decimal = 1;
for(int index = numChar.length ; index > 0 ; index --){
if(index == 1 ){
if(numChar[index - 1] == '-'){
return intValue * -1;
} else if(numChar[index - 1] == '+'){
return intValue;
}
}
intValue = intValue + (((int)numChar[index-1] - 48) * (decimal));
System.out.println((int)numChar[index-1] - 48+ " " + (decimal));
decimal = decimal * 10;
}
return intValue;
}
添加回答
举报