关闭

(int),Convert.ToInt32(),Int32.Parse(),Int32.TryParsed()的用法总结

标签: 强制转型ParseTryParseConvert类型转换
2364人阅读 评论(0) 收藏 举报
分类:

1 (int) 

强制转型为整型。

当将longfloatdoubledecimal等类型转换成int类型时可采用这种方式。

double dblNum = 20;
int intDblNum = (int)dblNum;
例子中将double型的dblNum显式转换为int型的intDblNum。

 

2 Convert.ToInt32()

string strNum = "20";
int intStrNum = (int)strNum;
在VS中输入上面的代码,会提示:

无法将类型“string”转换为“int”。


这时,可以使用Convert.ToInt32()方法来完成这个转换。

int intStrNum = Convert.ToInt32(strNum);


当传入的字符串(含空串"")无法转换成int型时,会抛出异常,异常信息为:

输入的字符串格式不正确。

string strNotNum = "2x";
int intStrNotNum = Convert.ToInt32(strNotNum);

当传入参数为null时,Convert.ToInt32()方法会返回0。

int intStrNotNum = Convert.ToInt16(null);//返回0,不抛出异常

Convert.ToInt32()方法 可以转换的类型很多,详细信息请参考:

http://msdn.microsoft.com/zh-cn/library/system.convert.aspx

 

3 Int32.Parse()

Int32.Parse()方法同样可以将数值型字符串转换成int

string strNum = "20";
int intStrNum = int.Parse(strNum);

当传入的字符串(含空串"")无法转换成int型时,会抛出异常,异常信息为:

输入的字符串格式不正确。

string strNotNum = "2x";
int intStrNotNum = int.Parse(strNotNum);

当传入参数为null时,会抛出异常,异常信息为:

参数值不能为null。

int intStrNotNum = int.Parse(null);

4 Int32.TryParsed()

Int32.TryParsed()方法与Int32.Parse()方法的区别是:如果输入字符串格式不满足转换的要求,Parse方法会抛出异常;而TryParse方法则不会引发异常,它会返回false表示转换无法进行,同时会将result置为0

string strNum = "20";
int intStrNum = 0; 
int result = 0;
if (int.TryParse(strNum, out intStrNum))
{
     result = intStrNum;
}
string strNotNum = "2x";
int intStrNotNum = 0;
int result = 0;
if (int.TryParse(strNotNum, out intStrNotNum))
{
       result = intStrNotNum;
}
当传入参数为空串””或者null会返回false

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:845006次
    • 积分:11144
    • 等级:
    • 排名:第1413名
    • 原创:296篇
    • 转载:47篇
    • 译文:0篇
    • 评论:133条
    最新评论