数据string类型转换int的三种方式:
1、parse
格式:int m = int.Parse(str);
int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
· 如果字符串为空,则抛出ArgumentNullException异常;
· 如果字符串内容不是数字,则抛出FormatException异常;
· 如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;
2、convert
格式:int n = Convert.ToInt32(str);
对 int.Parse一个改进,因为它判断了值等于null的情况
当我们不小心传入了123abc这个字符串,这个程序就会抛出异常为 System.FormatException:,是字符串的格式异常,这就需要去拦截异常影响了系统性能。
· 以parse为基础 进行了改进,Convert.ToInt32 参数为 null 时,返回 0
· 但当Convert.ToInt32参数为string.empty是,就会抛出System.FormatException: 输入字符串的格式不正确异常。
3、try parse
格式:bool b = int.TryParse("123", out num3);
int.TryParse 可以看作是对int.Parse和Convert.toInt32的改进。
它既判断了值等于null的情况,还判断了string.empty 这样空字符的情况。
· 所以它不会产生异常,转换成功返回 true,转换失败返回 false。
· 最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值、
四.int.Parse,Convert.ToInt和int.TryParse的比较
1.参数和适用对象不同
int.Parse的参数数据类型只能是string类型,适用对象为string类型的数据
convert.toInt参数比较多
int.TryParse的参数只能是string类型,适用对象为string类型的数据
2.异常情况不同
异常主要是针对数据为null或者为""的情况
Convert.ToInt32 参数为 null 时,返回 0;Convert.ToInt32 参数为 "" 时,抛出异常;
int.Parse 参数为 null 时,抛出异常。; int.Parse 参数为 "" 时,抛出异常。
int.TryParse
3.返回值不同
int.TryParse与int.Parse和Convert.ToInt 在返回值的不同是返回bool类型。获取转换后的值是通过out result这个参数获取的。