码迷,mamicode.com
首页 > Windows程序 > 详细

C# Convert 与 Parse 的区别

时间:2018-11-14 01:11:04      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:一个   4.6   没有   try   调用   转化   3.5   报错   false   

一、Convert.ToDouble与Double.Parse的区别

Convert.ToDouble 内部调用了 Double.Parse

(1)对于参数为null的时候:

Convert.ToDouble 参数为 null 时,返回 0.0;

Double.Parse 参数为 null 时,抛出异常。

(2)对于参数为""的时候:

Convert.ToDouble 参数为 "" 时,抛出异常;

Double.Parse 参数为 "" 时,抛出异常。

(3)其它区别:

Convert.ToDouble 可以转换的类型较多;

Double.Parse 只能转换数字类型的字符串。

Double.TryParse 与 Double.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0.0。

二、Convert.ToInt32()与int.Parse()的区别

(1)这两个方法的最大不同是它们对null值的处理方法:

Convert.ToInt32(null) 会返回 0 而不会产生任何异常,但 int.Parse(null) 则会产生异常

(2)对数据进行四舍五入时候的区别

Convert.ToInt32(double value)

如果 value 为两个整数中间的数字,则返回二者中的偶数;即 3.5转换为4,4.5 转换为 4,而 5.5 转换为 6。 不过4.6可以转换为5,4.4转换为4

int.Parse("4.5")

直接报错:"输入字符串的格式不正确".

int(4.6) = 4

Int转化其他数值类型为Int时没有四舍五入,强制转换

(3)对被转换类型的区别

int.Parse是转换String为int

Convert.ToInt32是转换继承自Object的对象为int的(可以有很多其它类型的数据)

一个object对象,想把它转换为int,不可以用int.Parse,要用Convert.ToInt32

原文链接:https://www.cnblogs.com/JackieWu/p/4866132.html

C# Convert 与 Parse 的区别

标签:一个   4.6   没有   try   调用   转化   3.5   报错   false   

原文地址:https://www.cnblogs.com/MingsonZheng/p/9955684.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!