注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

_

_

 
 
 

日志

 
 

喜欢偶数的Convert.ToInt32(double)  

2014-10-17 14:28:57|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

喜欢偶数的Convert.ToInt32(double)

分类: C# 2011-11-25 19:11 365人阅读 评论(0) 收藏 举报

stringnullobjectc#

Convert.ToInt32()是平时还帮你四舍五入,数字距对半的时候它就喜欢偶数了,这是我对它的评价!

当我们传入的是个double且比如6.7这样的参数的时候,这家伙会帮助我们去四舍五入(6.7 会返回7 , 5.3会返回5)

当传入的是个double且小数是.5, 比如4.5的时候,这家伙就来脾气了:

它会返回偶数那一边的数. 比如4.5 在4和5中间,它会返回4

????? 比如5.5在5和6中间,它会返回6

回到C#的技术细节上,来比较一下 (int) number,Convert.ToInt32(), Int32.Parse(), number as int?? 四者的区别吧!

(int) number 是最早接触的类型转换,比较基本,会抛出异常

Convert.ToInt32() 接收的参数是object,一般不会出错,但是传比较变态的东西,比如“tyui”让它去convert , 它就会抛出异常了。

当变态的参数是null的时候,它又没脾气了。 int x=Convert.ToInt32(null) ; //x=0;

而此时int.parse(null) 表现还是正常的,抛出了异常;

number as int : 先try to do, 尝试着去转换一下,如果不能转换就抛出异常

个人总结:
(1)Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.
(2)Parse就是把String转换成int,char,double....等,也就是*.Parse(string) 括号中的一定要是string.
(3)Convert可以提供多种类型的转换,也就是Convert.*()括号中可以为很多种类型(包括string).

  评论这张
 
阅读(147)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017