字符转换为整数
今天学了两招,拿出来卖弄一下。在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 ) ;
请指点 --------------------编程问答--------------------
这么老的帖子下次就不要翻出来啦。。自己有什么问题就新开个帖子嘛。。哪怕是0分帖。。
int data ;
string s1 = "12" ;
int.TryParse( s1, out data ) ;
补充:.NET技术 , C#