java怎么把字符转换成数字???

怎么把字符转换成数字???看到一个例子是这样的:intsum1=0;Stringstr='6464154646';charc=str.charAt(3);sum1+=c-... 怎么把字符转换成数字???
看到一个例子是这样的:
int sum1=0;
String str = '6464154646';
char c =str.charAt(3);
sum1+=c-'0' //字符转换成数字累加
部分的代码
字符转化成数字那个-'0'表示什么意思 求解 谢谢
展开
 我来答
六尾小狐狸
推荐于2017-09-11 · TA获得超过593个赞
知道小有建树答主
回答量:624
采纳率:74%
帮助的人:371万
展开全部

这样解释吧

char里面存的是字符的ascii码

char c='0';
int ic=c;
System.out.println(ic);//输出的结果为48

所以你例子中sum1+=c-'0' 相当于转换成了ascii码进行的数字运算了,于是就求出了数字 


附一下ASCII码表,相信你一看就明白了

http://baike.baidu.com/link?url=6Tn9IPIdONzrb4yXujBHo2Q6fmUrwjxv0J28xzuqqCdzTVXM0t2_e3rhkoVDKA3z

Love_Bydu
推荐于2018-12-13 · TA获得超过303个赞
知道小有建树答主
回答量:249
采纳率:0%
帮助的人:129万
展开全部
下面这个方法可以转换,前提是你的字符内容是数字类型。比如 String str = "123" 或者 char str = '2'

char a = '1';
String b = String.valueOf(a);
int c = Integer.parseInt(b);

上面你说的 c - '0' 这一步应该就是转换格式的 ,我知道类似的在 js 中把一个变量转换成字符串 可以用 var str = str+""; 加两个引号就相当于格式转换了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
番茄味儿锅巴
2013-12-18 · TA获得超过795个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:146万
展开全部
意思就是让字符形式的数字和字符形式的'0‘相减,因为字符形式的'0'~'9'也是按顺序排列的,即'0'下一个是'1',再下一个是'2',以此类推,所以用'1'-'0'就等于1(实际是两个字符之间距离为1,但恰好就等于你需要的数字了),'6'-’0‘=6,等等等等。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
StrutsFamily
2013-12-18 · 超过23用户采纳过TA的回答
知道答主
回答量:175
采纳率:0%
帮助的人:60.6万
展开全部
sum1 += c-'0' --> sum1 = sum1+(c - '0')
其中 c-'0' 目的是 让 这个 c 变成 int 类型, 然后 在和 sum1相加
结果 输出时 4
为什么是4 ???
首先 char c =str.charAt(3) ----> 可得出 字符 char c = '4'

然后 c-'0' 就转变为 int 类型的 的 4
然后 sum1 = sum1+4 ----> 0+4 =4

小错误 :String str = '6464154646'; 这里 应该是 String str = "6464154646" ;

望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Free_Boy000
2013-12-18 · 超过16用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:36.6万
展开全部
数字 与 字符转为ascii码的数字 对应的值是不一样的,例如 '0' = 48 '3' = (48+3),c是char类型的,这你该明白为什么要用 c-'0' 了吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式