一字符串,String=“2324234535”;

把第i个数取出来时是char型的:char temp=String.charAt(i)

如何把char型转换成int型?

我需要求个尾数之和,如:123的各位数之和为6.

每个字符取出来,得到char型的1,2,3,4,5;

但是求和得到的结果是ASCII码值

处理办法:

(1)把char转成字符串, Integer.parseInt(""+‘1‘)

String a = "12345";
int d = Integer.parseInt(String.valueOf(a.charAt(2)));
int c = Integer.parseInt(String.valueOf(a.charAt(3)));
System.out.println(d * c);
demo:
//[0..3]
int start=Integer.parseInt(dryNoInfo.charAt(1)+"");//0
int end=Integer.parseInt(dryNoInfo.charAt(dryNoInfo.length()-2)+"");//3
for (int i = start; i <=end; i++) {if (i>start) {
sBuilder.append("|");
}
sBuilder.append(i);
}

(2)charToInt 可以直接使用 Character.digit(char ch, int radix);

有两种转换方法:

一种是自动转换,如char c = 97,会自动的将int类型的96转换成char的‘a’

另一种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是‘a’

为什么是a呢?因为字符‘a’对应的ASCII值是97.

自动转换一般是用于大的类型向小的类型转换,也叫窄化转换

强制类型转换一般是用于小的类型向大的类型转换,也叫扩展转换