1.自动类型转换/隐式类型转换
1)类型必须兼容(int和double)
2)必须是小的类型转大的类型
int n=10;
double d=n;
强转类型转换,结果丢失精度;
eg:303.6-->303; double-->int;
int result=(int)303.6;
Console.WriteLine(result);
Console.ReadKey();
int a=10,b=3;
int m=a%b;
//double q=a/b;
double q=(a*1.0)/b;//a*1.0变成double类型
Console.WriteLine("{0:0.00}",q);//表示如果结果有小数的情况下,使用占位符保留两位小数
Console.ReadKey();
Convert类型转换
在使用时候需要注意:
如果要发生类型转换的两个变量的类型不兼容,那么这个时候使用Convert类型转换;
前提面上一定要过得去--->看上去可转成想要转换的类型,否则抛异常;
比如:string a="123";
int n=Convert.ToInt32(a); √
通过Convert.ToInt32(能转成int类型的数据),来把其他类型转换成int类型,一切类型都可以转换为string类型
string str =123abc;
int n=Convert.ToDouble(str); ×
Convert不再仅是内存级别的转换,而是考虑数据意义的转换;
Convert是一个加工,改造的过程;
如果转换成功就成功了,如果失败,则抛异常;
string strDay=Console.ReadLine();
int day=Convert.ToInt32(strDay); //==int day=Convert.ToInt.32(Console.ReadLine())