当前位置:编程学习 > C#/ASP.NET >>

字符转换为整数

今天学了两招,拿出来卖弄一下。

在C#中,如果想把字符转换为整数,可以使用下面介绍的方法。

 

//定义字符变量和整型变量

String s_str = “”;

int i_num=0;

 

   方法一、强制类型转换

i_num = int(s_str);



方法二、利用Convert类进行内容转换

i_num = Convert.ToInt16(s_str);

   

   方法三、使用int类的方法

i_num = int.Parse(s_str); 



    不过无论你进行什么数值转换,精度问题都是必须考虑的,另外最好判断字符是否能转换为合法的整数或者将代码写在try{}catch{}语句的try语句块中,并在catch中输出出错信息 。

http://blog.csdn.net/xutong --------------------编程问答-------------------- 好  学习了 --------------------编程问答-------------------- 阅 --------------------编程问答-------------------- 支持一下! --------------------编程问答-------------------- i_num=int(s_str); 通不过编译吧? --------------------编程问答-------------------- i_num = int(s_str); 
编译不会通过

搂住考我们的眼里呢!

真是寓教于乐,哈哈! --------------------编程问答-------------------- 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 --------------------编程问答-------------------- 说明一下:
1. 方法1可以改成i_num   =   (int)(s_str); 
2.这个几种方法在转化数字组成的字符时是正确的,当字符是汉字时就会出错,所以应该把它们写在try{}catch{}中 --------------------编程问答-------------------- i_num  =  (int)(s_str);   是错误的!!编译时会报错:error CS0030: 无法将类型“string”转换为“int” --------------------编程问答--------------------
楼主的话有歧义,LZ关于sting 转换成int上面的几种做法是在STRING类型的值是数字的时候有用,
即string a="123456";
你既然说把字符转成整数。那STRING A=“abc”;将发生编译错误。
这时的转成整数就是得到它的ASCII码。

--------------------编程问答-------------------- int.TryParse方法...比你学到的三种方法更高效更安全... --------------------编程问答-------------------- 这么开心,给我分 --------------------编程问答-------------------- 学习了。 --------------------编程问答-------------------- 学到了 楼主 --------------------编程问答-------------------- 用TryParse,try{}catch{}不要到处都用! --------------------编程问答-------------------- 怎么我编译的时候会出错呢?
int data ;
string s1 = "12" ;
data = int.TryParse( s1 ) ;
请指点 --------------------编程问答--------------------
引用 15 楼 Daphne0622 的回复:
怎么我编译的时候会出错呢? 
int data ; 
string s1 = "12" ; 
data = int.TryParse( s1 ) ; 
请指点


这么老的帖子下次就不要翻出来啦。。自己有什么问题就新开个帖子嘛。。哪怕是0分帖。。

int data ; 
string s1 = "12" ; 
int.TryParse( s1, out data ) ;
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,