首页 > 其他 > 详细

类型转换之string变int

时间:2015-04-07 23:16:25      阅读:326      评论:0      收藏:0      [点我收藏+]

  

       int.parse()函数是将字符串类型转换成int类型。

       使用int.parse()不当,可能会抛出异常,分为以下三种:

  1. System.ArgumentNullException,即被转换的字符串的内容为Null;
  2. System.FormatException,字符串的内容不是数字;
  3. System.OverflowException,字符串在转换后不在int类型的可表示范围内,造成溢出。

 

所以使用int.parse()来进行转换是很容易受到限制的,一般如果能确定被转换字符串的内容,只是进行简单地转换时,可以使用这种方法。如果输入字符串不定,或者先要对其进行判断时,可采用其他的转换方法,下面来介绍几种把string转换为int的其他函数

 

1.int.TryParse

  int.TryParse与 int.Parse是比较类似的,但是它不会因被转换内容不合法而产生异常,转换成功返回true,转换失败返回false,最后一个参数为输出值,若转换失败,输出值为0.若成功,则返回转换后的int值。

 

2.Convert.ToInt32()

  首先,Convert.ToInt32(),可以转换的类型比较多,可以将object类类型转换为int类型,而int.Parse若转换数字以外的类型就会报错。使用此函数时,若被转换内容为null时,返回0;若为“”,就会抛出异常;此方法与int.Parse也是较为类似的,实际上Convert.ToInt32() 内部调用了 int.Parse。

  还需要注意一些小的细节,当参数为两个相邻整数中间的数字时,返回二者中的偶数,若不是中间数,则采取四舍五入的方法。若int.Parse的参数为小数,则会报错:输入的字符串格式不正确。若用下面讲到的(int)方法,没有四舍五入,会进行强制转换。

 

3.(int)

  (int)用于简单的类型转换,形式为(int)变量,C#默认类型为int32,不支持bool转化。是一种显式的强制转换,当我们从int类型到long、flout、double、decimal类型,可使用隐式转换,但当从long类型到int类型转换时,由于long类型范围大,所以要进行显式的强制转换,否则会产生编译错误。

 

类型转换之string变int

原文:http://www.cnblogs.com/erchen/p/4399607.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!