关于int.Parse()的异常
一、int.Parse(string 变量名)
该方式是将数字内容的字符串转换为int类型:
1.如果字符串的内容为Null ,则抛出ArgumentNullException异常;
2.如果字符串内容不是数字,则抛出FormatException异常;
3.使用该方法只能处理字符串的内容,而且转换后的字符串内容要在int类型的可表示范围之内,若超出,则抛出OverflowException异常。
二、在网上搜索相关内容,Convert.ToInt32()、int.Parse()、int.TryParse()、(int)这些函数都可以将其他类型转化为int型
1.Convert.ToInt32()与int.Parse()的区别:
(1)这两个方法的最大不同是它们对NULL值的处理方法:
Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。
(2)当参数是浮点数时:
a. Convert.ToInt32(double value)
如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4
b. int.Parse(“4.5”)
直接报错:“输入字符串的格式不正确”
(3)转换对象不同:
a.int.Parse是转换String为int
b.Convert.ToInt32是转换继承自Object的对象为int的
当你得到一个object对象,你想把它转换为int,用int.Parse就不可以,要用Convert.ToInt32.
2.int.TryParse()与int.Parse():
int.TryParse()与 int.Parse() 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。
最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值
3.关于(int):
(int)是一种类型转换;当我们把int类型转换到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需要使用显式转换,否则会产生 编译错误。