C#中的类型转换
一、隐式类型转换(自动类型转换)
两个数据类型要兼容
从小的转大的;
如:
int b=10;
double a=b;
二、显式类型转换(强类型转换)
两个数据类型要兼容
从大的转小的
如:
double a=10.2;
int b=(int) a;//语法格式为(待转换类型)变量;
(int)a:此时,a已经为int类型了;
注意:
如果表达式中,有一个是double类型,则整个表达式的值,都是double类型;
1 int num1 = 10; 2 int num2 = 3; 3 //num1与num2都是int型,所以表达式的值也为int型; 4 double result = num1 / num2; 5 Console.WriteLine(result);//输出结果:3 6 Console.ReadKey();
1int num1 = 10; 2 int num2 = 3; 3 //表达式中,num1的值*1.0这是最简单的,将int型,转变成double型的方式; 4 //表达式中,一个数是double型,则整个表达式都是double型 5 double result = num1 *1.0/ num2; 6 //占位符中的表示,是结果按照小数点后的两位输出 7 Console.WriteLine("{0:0.00}",result);//输出结果:3 8 Console.ReadKey();
上述讲的是两个类型兼容时的转换,如果类型不兼容时,会用到Convert转换
string s = "123"; //将string类型转换成int类型...(转成多种类型都可以) int b = Convert.ToInt32(s);
但是用到Convert也是需要有条件的
//此时不可以转换,因为convert类型转换,也要满足,面上过的去,abc无法转换,此时会抛出异常; string s1 = "123abc"; int c = Convert.ToInt32(s1);

浙公网安备 33010602011771号