黑马程序员技术交流社区

标题: 关于Convert转换的问题 [打印本页]

作者: 刘欢(安阳)    时间: 2012-8-28 09:33
标题: 关于Convert转换的问题
Convert Toint32(Console.readline())可以把输入的字符转转换为int类型
那么
  1.字符串转换为double/decimal是不是Convert Todouble(Console.readline())或者Convert Todecimal(Console.readline())?
2.为什么转换为int要Toint32呢?32是指什么?是指32位系统吗?是的话win7的64位系统要Toint64么?
3.字符串转double/decimal为什么不加32呢?
作者: 冯雅伦    时间: 2012-8-28 09:45
由于数字类型根据其最大长度所分类型较多
32指的是数字类型的长度,int32就相当与一般使用的int类型,而int64则相当于一般使用的long型,int16则是short类型了。
你可以在VS中用分辨转换成不同int类型然后查看其返回值类型就可以看到差别了(我就是这么干的,呵呵)。
作者: 许庭洲    时间: 2012-8-28 10:07
1. 强转有以下几种:
    convert.ToInt16;           //转换成16位的整数
    convert.ToInt32;          //转换成32位的整数
    convert.ToInt64;         //转换成64位的整数
    convert.ToBoolean();   //转换成 bool 值
    convert.ToString();     //转换成 字符串
    convert.ToDouble();   //转换成小数
    convert.ToString();    //转换成字符串
    convert.ToSByte;       //转换成字节
2. Convert转换整数有三种方式,是由于整数分短整型(16位),长整型(64位)和整型(32位);
2. Convert不再是内存级别的转换,而是考虑数据意义的转换;
3. Convert是一个加工和改造的过程;
4. 除了整型外,其他类型就比较单一,例如convert.ToString()和convert.ToBoolean();
作者: hehe04    时间: 2012-8-28 10:50
32表示长度,int32就是32位的整形。long就是int64 即64位整形
数在计算机内存中是以二进制表示的,你可以把计算机内存想向成一块一块的,32位就是使用内存中的32块来存储这个数。C:\Documents and Settings\Administrator\桌面\1.jpg
作者: hehe04    时间: 2012-8-28 10:52
图没传上去  在传一次

1.jpg (52.31 KB, 下载次数: 96)

1.jpg

作者: 李 玉林    时间: 2012-8-28 11:04
int32一般指的是普通整形 即32位的整数类型 int16指的是短整型short,在内存中使用16位的二进制数表示的,  int64指的是长整形在内存中使用64位的二进制数表示的,这里指的位数是和系统的位数是没有关系的
作者: 王龙喜    时间: 2012-8-28 11:48
第一个问题你的想法是正确的,各个类型都有其强制转换的类型的, int 关键字表示一种整型,是32位的,不同的数据类型,其在电脑中的位数也是不同的,所以不能都用32来修饰,跟电脑系统没有关系,你用什么系统的电脑在写同样的程序时代码是一样的。
作者: 刘欢(安阳)    时间: 2012-8-28 22:45
本帖最后由 刘欢(安阳) 于 2012-8-28 22:51 编辑
冯雅伦 发表于 2012-8-28 09:45
由于数字类型根据其最大长度所分类型较多
32指的是数字类型的长度,int32就相当与一般使用的int类型,而int ...


好方法!我老觉得自己在vs里缺乏探索精神
作者: 刘欢(安阳)    时间: 2012-8-28 22:48
许庭洲 发表于 2012-8-28 10:07
1. 强转有以下几种:
    convert.ToInt16;           //转换成16位的整数
    convert.ToInt32;           ...

强大!好全面
作者: 刘欢(安阳)    时间: 2012-8-28 22:49
hehe04 发表于 2012-8-28 10:50
32表示长度,int32就是32位的整形。long就是int64 即64位整形
数在计算机内存中是以二进制表示的,你可以把 ...

谢谢,你的比喻让我印象深刻
作者: 刘欢(安阳)    时间: 2012-8-28 22:51
王龙喜 发表于 2012-8-28 11:48
第一个问题你的想法是正确的,各个类型都有其强制转换的类型的, int 关键字表示一种整型,是32位的,不同 ...

还好,本来还担心换了win7会出问题来,谢谢喽
作者: 刘欢(安阳)    时间: 2012-8-28 22:55
李 玉林 发表于 2012-8-28 11:04
int32一般指的是普通整形 即32位的整数类型 int16指的是短整型short,在内存中使用16位的二进制数表示的,  ...

了解了,原来就是不同内存的int型的啊
作者: 资建文    时间: 2012-8-28 23:13
够详细的呀  学习学习
作者: 蔡嘉    时间: 2012-10-19 21:51
可转到定义(F12),分别看一下,再
Console.WriteLine(Convert.ToInt64(Console.ReadLine()));
Console.WriteLine(Convert.ToInt16(Console.ReadLine()));
Console.WriteLine(Convert.ToInt32(Console.ReadLine()));
到控制台看一下打印结果。




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