前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(int),Int32.Parse,Convert.ToInt3…

(int),Int32.Parse,Convert.ToInt3…

作者头像
恋喵大鲤鱼
发布2018-08-03 17:26:38
9270
发布2018-08-03 17:26:38
举报
文章被收录于专栏:C/C++基础

(int)是一种被称为强制转换的显示转换。源变量和目标变量必须是兼容的(必须都是int类型的)。并且有丢失数据的风险。因为目标变量的类型大小小于源变量。

从int到long、float、double或decimal的预定义隐式转换。例如:

代码语言:javascript
复制
 f = 123;

从sbyte、byte、short、ushort或char到int的预定义隐式转换。例如,如果不进行强制转换,下面的赋值语句将会在编译时报错:

代码语言:javascript
复制
 )longTest; //显示转换
代码语言:javascript
复制
 但是还要注意,不存在从浮点型到int类型的隐式转换。例如,除非使用显式强制转换,否则以下语句将会在
代码语言:javascript
复制
)3.5;
代码语言:javascript
复制
 Int32.Parse方法仅允许
代码语言:javascript
复制
 Convert.ToInt32(String,IFormatProvider)底层调用了Int32.Parse。然而假如我们传入一个空字符串会返回0.但是如果是传递给Int32.Parse就会抛出
代码语言:javascript
复制
ArgumentNullException异常。
代码语言:javascript
复制
 我们可以通过.NET Reflector查看到这个静态的方法。
代码语言:javascript
复制
 调用了
代码语言:javascript
复制
 当源变量的值比Int32.MaxValue大或者比Int32.MinValue小,Convert.ToInt32会抛出OverflowExcetion异常。但是使用(int)则不会。
代码语言:javascript
复制
 Convert.Toint32将舍入到最接近的32位有符号整数。如果值为中间两个的整体数字则返回偶数;这就是4.5转换为4,而5.5转换为6.而在另一方面
代码语言:javascript
复制
 (int)只是截断小数部分。
代码语言:javascript
复制
 最后来讲一讲Int32.TryParse。此方法是将字符串转换为等效的32位有符号整数。操作是否成功的返回值。
代码语言:javascript
复制
 注意:它是一个bool的方法。
代码语言:javascript
复制
 通过.NET Reflector查看。
代码语言:javascript
复制
 result);  } 

如果s转换成功,则为true;否则为false。示例:

代码语言:javascript
复制
 }
代码语言:javascript
复制
上面我们定义的str的值是w3,所以它转换的时候去判断不是32位整数,则返回的是false。

注:TryParse方法类似Parse方法,不同之处在于TryParse方法转换失败时不引发异常。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015年07月19日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档