C#类型转换的⼏种⽅式
C#类型转换的⼏种⽅式
1.(int)变量
该转换⽅式主要⽤于数字类型之间的转换,从int类型向long,float,double,decimal 类型转换可以使⽤隐式转换,但从long型到int 就需要使⽤显⽰转换,即使⽤该类型的转换⽅式否则产⽣编译错误。
该⽅式对于浮点数会⽆条件的舍去,会失去精确度。
对于char类型的到int类型的转换,传回的值是ASCII码。
代码⽰例:
float a =2.2f;
int b =(int)a;
Console.WriteLine(b);//结果:2
Console.ReadKey();
2.int.Parse(变量)
public static Int32 Parse(string s);
该⽅式是将数字内容的字符串转换为int类型,如果字符串的内容为Null ,则抛出ArgumentNullException异常;如果字符串内容不是数字,则抛出FormatException异常。
使⽤该⽅法只能处理字符串的内容,⽽且转换后的字符串内容要在int类型的可表⽰范围之内。
代码⽰例:
string str ="100";
int str1 =int.Parse(str);
Console.WriteLine(str1);//结果:100
Console.ReadKey();
3.int.TryParse(变量 s, out int result)
public static bool TryParse(string s, out Int32 result);
参数:s 包含要转换的数字的字符串。
返回结果:
如果 true 成功转换,则为 s;否则为 false。
当此⽅法返回时,如果转换成功,则包含与 s 中所包含的数字等效的 32 位⽆符号整数值;如果转换失败,则包含零。 如果 s 参数为 null 或 System.String.Empty、格式不正确,或者表⽰的数字⼩于System.Int32.MinValue 或⼤于 System.Int32.MaxValue,则转换失败。此参数未经初始化即进⾏传递;最初在 result 中提供的任何值都会被覆盖。
int.TryParse 与 int.Parse ⼜较为类似,但它不会产⽣异常,转换成功返回 true,转换失败返回 false。
最后⼀个参数为输出值,如果转换失败,输出值为 0
该⽅式也是将数字内容的字符串转换为int类型,但是该⽅式有⽐int.Parse 优越的地⽅,就是它不会出现异常,最后⼀个参数result是输出值,如果转换成功则输出相应的值,转换失败则输出0。
writeline输出数值变量代码⽰例:
string str ="100";
int i;
bool strbool =int.TryParse(str,out i);
Console.WriteLine(i);//结果:100
Console.WriteLine(strbool);//结果:True
bool strbool1 =int.TryParse(null,out i);
Console.WriteLine(i);//结果:0
Console.WriteLine(strbool1);//结果:False
Console.ReadKey();
4.Convert.ToInt32(变量)
该⽅式不仅可以将字符串类型转换为int,还可以将其他的类型转换为int。变量若为object或string类型,当其值为Nul时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,转换成int时,程序仍会出错。
该⽅式对于float类型做四舍五⼊。
该⽅式同强制类型转换⼀样在处理char类型的时候,返回的都是ASCII码。
代码⽰例:
string str ="100";
int strInt= Convert.ToInt32(str);
int strInt1 = Convert.ToInt32(null);
Console.WriteLine(strInt);//结果:100
Console.WriteLine(strInt1);//结果:0
Console.ReadKey();
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论