类型转换——convert、parse和try parse

简介: 类型转换——convert、parse和try parse

数据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这个参数获取的。


目录
相关文章
|
C#
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
C#中 Int32.TryParse() ConVert.ToInt32() Int32.Parse () 的区别 将字符串类型转换为数字类型
60 0
|
机器学习/深度学习 存储
argparse库
argparse库
categorical_crossentropy与sparse_categorical_crossentropy的区别
categorical_crossentropy与sparse_categorical_crossentropy的区别
|
JSON JavaScript 数据格式
JSON.parse和evel的区别
JSON.parse和evel的区别
99 0
|
JSON 数据格式
parse 和parseObject 有什么区别
JSON.parse()返回的结果是Object对象
366 0
Enum Parse 中的坑
Enum Parse 中的坑
134 0
Enum Parse 中的坑