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

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

 

你可能感兴趣的:(convert)