您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > Csharp的类型转换
一.强制转换(int):(int)表示显式强制转换,是一种类型转换。当我们从int到long、floa、double、decimal时,都可以使用隐式转换,而当我们从long到int(以及其他类似的转换是)就需要使用显式转换,否则会产生编译错误。Stringstringval=”123”;Inti=(int)stringval;//是错误的,用()不能是string直接转换为int而且(int)stringval;也是错误的;Stringstringval;Inti=123;Stringval=(int)i;//也是错误的,用()不能使int变成string①该转换方式主要用于数字的转换②该转换对浮点数是,会失去起精度(即直接省略小数部分)③用来处理char类型的值,会返回ASCⅡ的值二.Int.Parse()将数字类型的字符串转换为int。括号内只能是字符串,该函数只能处理字符串,而且字符串的内容只能在int可表示的范围内。若参数string的值是:①是nul,抛出异常;②是“”(空/string.empty),抛出异常;③string的格式不是数字类型的,则抛出异常:字符串格式不对;④若超出int的表示范围([MinValue,MaxValue]),抛出异常Int.pause(4.5);//这届报错:字符串的格式不正确Double.parse(”4.5”);//正确Double.parse(”4”);//正确格式:*.parse()sbyte——long和float——decimal注意:没有string.Pause()三.Int.TryParse(strings,outintresult)该方式也是将数字内容的字符串转为int类型,但是该方式比int.Parse优越的地方,就是它不会出现异常。如果转换成功该函数返回true,如果转换失败该函数返回false。很明显,最后一个参数为输出值,如果转换失败,输出值为0;如果转换成功,则输出相应的值。四.Convert.ToInt()该方式不仅可以将字符串转为int类型,还可以将其它类型的值转成int类型。变量若为object或string类型,当其值为null时,会传回0,不会造成程序错误,但是若此string类型的值为string.Empty,在转型成int时,仍会造成程序错误。注:①该方式同强制转换一样,不能用来处理char类型,否则传回的是ASCII代码②1.convert.toint32(“4.5”);//错误,会抛出异常,字符串格式不对。2.convert.toint32(4.5);//正确,③用convert.toint32()来处理浮点数的时候:原则是“四舍六入五看奇偶”附:Convert.ToInt32与int.Parse较为类似,实际上Convert.ToInt32内部调用了int.Parse:四.个人总结①Convert.ToInt32的参数比较多,Int.Parse只能转换string类型的.②Parse就是把String转换成int,char,double....等,也就是*.Parse(string)括号中的一定要是string.③(int)属cast转换,只能将其它数字类型转换成int类型,它不能转换字符串,比如下例就会失败:stringv=1;intn=(int)v;
本文标题:Csharp的类型转换
链接地址:https://www.777doc.com/doc-2907715 .html