关于强制转换,代码如下:
double i = 123.456;
//int j = (int)i;
int j = Convert.ToInt32(i);
Console.WriteLine(j);
在这里用哪种方式转换出来的结果都一样,j都等于123那(int)i和Convert.ToInt32(i)这两者有什么区别,请详细说明

解决方案 »

  1.   

    没什么大的区别!Convert.ToInt32是转换成32位整型!
      

  2.   

    不如问这个吧..
    int  和convert.toint16的区别
      

  3.   

    int.Parse()与Convert.Toint32()与(int)似乎没有什么区别吧~~~
      

  4.   

    有的,int.Parse()只是把字符串转化int
    convert.toint32()是实现类型转化
      

  5.   

    int.Parse()与Convert.Toint32()与(int)似乎没有什么区别吧~~~
    对于string来说,没区别...
      

  6.   

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

  7.   

    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)方式的
      

  8.   

    还真的不清楚,只知道int有时候会错,转不了,而Convert.Toint32()就可以
      

  9.   

    TO liup18(平凡)是的~~~YE`~呵呵
      

  10.   

    http://www.baidu.com/s?wd=int+convert.toint32&cl=3
      

  11.   

    (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,那么你将得到一个错误的结果,例如下面的代码:  
        
        double d = Int32.MaxValue + 0.1412;  
        int i = (int)d;      无论你进行什么数值转换,精度问题都是必须考虑的。
     
      

  12.   

    没什么大的区别!Convert.ToInt32是转换成32位整型!是这样的!
      

  13.   

    现在我只用Convert.ToInt32();
      

  14.   

    up  用int.Parse(a.ToString())  比较多