码迷,mamicode.com
首页 > 其他好文 > 详细

类型转换之string变int

时间:2015-04-07 23:18:15      阅读:124      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!