一字符串,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);
http://tieba.baidu.com/p/2062701652
有两种转换方法:
一种是自动转换,如char c = 97,会自动的将int类型的96转换成char的‘a’
另一种是强制类型转换,如int i = 97,char c = (char)i ,这样做了之后,char的值也是‘a’
为什么是a呢?因为字符‘a’对应的ASCII值是97.
自动转换一般是用于大的类型向小的类型转换,也叫窄化转换
强制类型转换一般是用于小的类型向大的类型转换,也叫扩展转换