日期:2014-05-18  浏览次数:20759 次

送分问题,菜鸟请进来接分...................
关于强制转换,代码如下:
double   i   =   123.456;
//int   j   =   (int)i;
int   j   =   Convert.ToInt32(i);
Console.WriteLine(j);


在这里用哪种方式转换出来的结果都一样,j都等于123

那(int)i和Convert.ToInt32(i)这两者有什么区别,请详细说明

------解决方案--------------------
都是强制转换
------解决方案--------------------
没什么大的区别!Convert.ToInt32是转换成32位整型!
------解决方案--------------------
不如问这个吧..
int 和convert.toint16的区别
------解决方案--------------------
恩是啊
------解决方案--------------------
呵呵,还有int.Parse()
------解决方案--------------------
有的,int.Parse()只是把字符串转化int
convert.toint32()是实现类型转化
------解决方案--------------------
int.Parse()与Convert.Toint32()与(int)似乎没有什么区别吧~~~
对于string来说,没区别...
------解决方案--------------------
只是执行的效率不同而已
------解决方案--------------------
都是一样的 只不过叫法不一样而已 就像一个人一个月工资2000 一个人工资1800 补助200那样

都是一样的 嘿嘿
------解决方案--------------------

------解决方案--------------------
(int)是将其他数字类型(比如double)转换成int型,但是不能将string型的数字(比如“123”)转换成int型,而Convert.Toint32()可以将string型的数字(比如“123”)转换成int型,个人理解不知道对否。
------解决方案--------------------


string source = "123 ";
int result = 0;

result = Convert.ToInt32(source);

result = Int32.Parse(source);

Int32.TryParse(source, out result);

Convert.ToInt32(source)在source为null的情况下不会抛出异常而是简单的返回0给调用方法

用上面的 三种方法转换,不推荐用(int)方式的


------解决方案--------------------
一样的
------解决方案--------------------
还真的不清楚,只知道int有时候会错,转不了,而Convert.Toint32()就可以
------解决方案--------------------
TO liup18(平凡)

是的~~~YE`~呵呵

------解决方案--------------------
都是一样的 只不过叫法不一样而已 就像一个人一个月工资2000 一个人工资1800 补助200那样

这个不一样的
前者交税多,后者少
五险一金也是根据工资来的,不要大意哦
------解决方案--------------------
了解

------解决方案--------------------
哦 菜鸟来接分了
------解决方案--------------------
http://www.baidu.com/s?wd=int+convert.toint32&cl=3
------解决方案--------------------
(int)转换和Convert.ToInt32转换的区别2007-04-25 14:19(int)是类型转换,能够使用 (int) 进行强类型转换的只能是数值类型,如 long、short、double等,这种转换时需要考虑精度问题。
如下的代码就行不通了:
string text = "1412 ";
int id = (int)text;

Convert.ToInt32是内容转换
如下代码中 text 实际上储存的是一个数值,我们希望把这个数值提取出来并以 int 的形式使用,那么就需要进行内容转换了,即
string text = "1412 ";
int id = Convert.ToInt32(text);

此外,Convert.ToInt32 有很多重载版本,例如 Convert.ToInt32(double value),当用这个版本来把一个double转换成 int 时,ToInt32 会检查被转换的数值是否能够用 int 表示,即是否会发生“越界”,如果是就会抛出OverflowException异常,否则就会转换,但使用 (int) 进行强制转换,如果被转换的数值大于 Int32.MaxValue,那么你将得到一个错误的结果,例如下面的代码: