C#/.NET整数的三种强制类型转换(int)、Convert.ToInt32()、int.Parse()的区别

重要的就是“Convert.ToInt32(null)会返回0”,所以还是尽量自己做空值判断再做显示转换(第一种方式)

转载自:https://www.cnblogs.com/xiesong/p/3536692.html

这三种方式都是强制把内容转换为整数,但他们之间是有区别的,如下:

、(int)适合简单数据类型之间的转换,C#的默认整型是int32(不支持bool型)。

int.Parse(string sParameter)是个构造函数,参数类型只支持string类型,Parse就是把String类型转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string类型。

Convert.ToInt32()适合将Object类型转换为int型;Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string)。

、Convert.ToInt32()和int.Parse()对于空值(null)的处理不同,Convert.ToInt32(null)会返回0而不会产生任何异常,但int.Parse(null)则会产生异常。

、对于数字的精确度不同:

(1)、Convert.ToInt32(double value) 如果 value 为两个整数中间的数字,则返回二者中的偶数,即 4.5 转换为 4,而 5.5 转换为 6。

(2)、int(4.6) = 4,int转化其他数值类型为int时没有四舍五入,强制转换(截取整数部分)。 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值