黑马程序员技术交流社区

标题: char转化成int的问题 [打印本页]

作者: 李君言    时间: 2013-5-20 17:55
标题: char转化成int的问题
本帖最后由 李君言 于 2013-5-23 18:27 编辑
  1. char a = '5';
  2. int b = Convert.ToInt32(a);
复制代码


为什么是53? 谢谢!

我看后面的回答后转换的问题解决了,但有另外一个问题
说char='5'里的5是ASCII吗里的5对应53,为什么5是ASCII码呢?
作者: SOAR    时间: 2013-5-20 18:15
你知道ASCALL码吗?
作者: 曾大鹏    时间: 2013-5-20 18:20
'0'的ASCALL码值为48
所以'5'的ASCALL码值为53
{:soso_e114:}
作者: 向德伟    时间: 2013-5-20 18:22
char a='5'
53是ASCII码对应5的值.

明白了吧?楼主加油!
作者: 李君言    时间: 2013-5-20 19:45
向德伟 发表于 2013-5-20 18:22
char a='5'
53是ASCII码对应5的值.

就是说char='5'里的5是ASCII吗里的5对应53,为什么5就变成ASCII码了?
作者: 张成智    时间: 2013-5-20 21:27
本帖最后由 张成智 于 2013-5-21 09:37 编辑

因为字符'5'的ASCII码等于53,Convert.ToInt32是把字符的ASCII码直接转换为整数,所以就变成53了。
如果想变成5,可以用string a='5';int b=Convert.ToInt32(a);
作者: 秦二江    时间: 2013-5-21 11:28
想得到 5 么 ?

      char a = '5';

           int b = Convert.ToInt32(a.ToString());
           string c = Convert.ToString(b);
           Console.WriteLine(c);
这样就行了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2