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

时间:2021-05-01 04:25:23

1 (int)

强制转型为整型。

当将long,float,double,decimal等类型转换成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 。