黑马程序员技术交流社区

标题: 整形转换 [打印本页]

作者: 崔增阳    时间: 2014-4-2 22:15
标题: 整形转换
本帖最后由 崔增阳 于 2014-4-3 15:37 编辑

ConvertToInt32和int.Parse int.tryparse 三者有什么不同
作者: threederek    时间: 2014-4-2 22:30
一、int.Parse(string 变量名)

  该方式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。
  使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内
二、int.TryParse(string s, out int result)
  该方式也是将数字内容的字符串转换为int类型,但是该方式有比int.Parse 优越的地方,就是它不会出现异常,最后一个参数result是输出值,如果转换成功则输出相应的值,转换失败则输出0。

至于和ConvertToInt32比较
(1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.
(2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.
(3)Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).
(4)至于效率上的区别可以看看这遍文章:《细说Convert和Parse到底那个效率高》
作者: 邓江红    时间: 2014-4-2 23:00
int.Parse是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常。
int.TryParse将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出现异常。如果转换成功返回 true,如果转换失败返回 false。很明显,最后一个参数为输出值,如果转换失败,输出值为 0;如果转换成功,则输出相应的值。
Convert.ToInt32不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。
作者: redlong    时间: 2014-4-2 23:23
1 int.Parse(string类型变量名)
       该方式是将数字内容的字符串转为int类型,如果字符串内容为空或者null时,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常;如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常。
      使用该方法切忌的一点就是只能处理字符串内容,而且字符串内容只能在int类型可表示的范围之内。
2 int.TryParse(string s, out int result)
      该方式也是将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出现异常。如果转换成功返回 true,如果转换失败返回 false。很明显,最后一个参数为输出值,如果转换失败,输出值为 0;如果转换成功,则输出相应的值。
3 Convert.ToInt32
      该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。
    该方式对于浮点数会做四舍五入。
    该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2