c#之Convert 方法、Parse()方法、tryParse的用法
----------------Convert 方法
C# Convert 方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。
具体的语法形式如下。
数据类型 变量名 = convert.To数据类型(变量名);
这里 Convert.To 后面的数据类型要与等号左边的数据类型相匹配。
方法 说明
Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int)
Convert.ToInt64() 转换为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime() 转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Conert.ToSingle() 转换为单精度浮点型(float)
Convert 将一个基本数据类型转化为另一基本数据类型
支持的转化类型:
受支持的基类型是Boolean、Char、SByte、Byte、Int16、Int32、Int64、UInt16、UInt32、UInt64、Single、Double、Decimal、DateTime 和 String
命令 结果
Convert.ToBoolean(var) var转换为bool
Convert.ToByte(var) var转换为byte
Convert.ToChar(var) var转换为char
Convert.ToDecimal(var) var转换为decimal
Convert.ToDouble(var) var转换为double
Convert.ToInt16(var) var转换为short
Convert.ToInt32(var) var转换为int
Convert.ToInt64(var) var转换为long
Convert.ToSByte(var) var转换为sbyte
Convert.ToSingle(var) var转换为float
Convert.ToString(var) var转换为string
Convert.ToUInt16(var) var转换为ushort
Convert.ToUInt32(var) var转换为uint
Convert.ToUInt64(var) var转换为ulong
对于整型和浮点型的强制数据类型操作也可以使用 Convert 方法代替,但是依然会损失存储范围大的数据类型的精度
----Parse()方法
Int.Parse():
只支持将string类型转成int,Parse就是把String类型转换成int,char,double…等,也就是*.Parse(string) 括号中的一定要是string类型。
String st=“5.21”;
double n=5.21;
Int.Parse(st); //输出5
Int.Parse(n); //报错
注意:
Convert.ToInt32()和int.Parse()对于空值(null)的处理不同,Convert.ToInt32(null)会返回0而不会产生任何异常,
但int.Parse(null)则会产生异常,int.TryParse()是对int.Parse()做了一个异常处理,如果出现异常则返回false,并且将输出参数返回0;
Parse
用来转换String类型的数据
TryParse的效率比Parse的效率高,容错也好。
-----------------tryParse的用法
int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
int.TryParse 与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。
最后一个参数为输出值,如果转换失败,输出值为 0
所以tryParse刚开始用起来真的很容易晕,首先得先明白它和 int.Parse的相似和不同,共同点操作对象都是字符串.
Console.WriteLine("请输入圆的半径");
int r; //定义半径变量
bool x = int.TryParse(Console.ReadLine(),out r);
/*判断用户的输入是否为整型的数据,如果在此处输入的不是整形数值
此处会返回false,并赋值给x,此时r的值已经变成了0,如果此处用户输入了
有效的数值,此处会返回true,r会保持用户输入的值待用*/