i_num=int(s_str); 通不过编译吧?

解决方案 »

  1.   

    i_num = int(s_str); 
    编译不会通过搂住考我们的眼里呢!真是寓教于乐,哈哈!
      

  2.   

    sorry,  对不起大家,编译时马虎了。    
    "方法一、强制类型转换 
    i_num   =   int(s_str); "
    是错误的,这是其它语言的语法,比如powerbuilder中,强制类型转换一般用于同种类型不同精度的转换,不能应用于将字符转换为数值。
    例如: int   i_num=0; 
     double d_num = 12.345;
    i_num = (int)d_num;
    Console.WriteLine("i_num={0}",i_num);
    这时会输出
    i_num=12
      

  3.   

    说明一下:
    1. 方法1可以改成i_num   =   (int)(s_str); 
    2.这个几种方法在转化数字组成的字符时是正确的,当字符是汉字时就会出错,所以应该把它们写在try{}catch{}中
      

  4.   

    i_num  =  (int)(s_str);   是错误的!!编译时会报错:error CS0030: 无法将类型“string”转换为“int”
      

  5.   


    楼主的话有歧义,LZ关于sting 转换成int上面的几种做法是在STRING类型的值是数字的时候有用,
    即string a="123456";
    你既然说把字符转成整数。那STRING A=“abc”;将发生编译错误。
    这时的转成整数就是得到它的ASCII码。
      

  6.   

    int.TryParse方法...比你学到的三种方法更高效更安全...
      

  7.   

    用TryParse,try{}catch{}不要到处都用!
      

  8.   

    怎么我编译的时候会出错呢?
    int data ;
    string s1 = "12" ;
    data = int.TryParse( s1 ) ;
    请指点
      

  9.   


    这么老的帖子下次就不要翻出来啦。。自己有什么问题就新开个帖子嘛。。哪怕是0分帖。。int data ; 
    string s1 = "12" ; 
    int.TryParse( s1, out data ) ;