比如 string a = "0x0047e0c9";
我写的int i = Convert.toint32(a);显示异常

解决方案 »

  1.   

    当然异常了。。你不看看你那个数有多大?
    0x0047e0c9可是400多万,你用int能不出错吗?????
      

  2.   

    4710601?
    int i = Convert.ToInt32( a, 16 );
      

  3.   

    int i = Convert.ToInt32(a,16);
      

  4.   

    快乐永远?我实际输出了结果,编译结果就那样的。而且我记得就算溢出也不会抛异常吧?Convert转换失败也是不会抛异常的吧
      

  5.   

    int类型上限2,147,483,647,还差老远呢。
      

  6.   

    快乐永远?我实际输出了结果,编译结果就那样的。而且我记得就算溢出也不会抛异常吧?Convert转换失败也是不会抛异常的吧
    会抛异常
      

  7.   

    而且我记得就算溢出也不会抛异常吧
    ------------------------------------>
    直接这样:
    int i = Convert.toint32(a);  
    默认情况下是不检查的,因此值会悄悄溢出
    但是:
    short d = short(10000*10000);
    发生编译时错误