隐式转换

小区间到大区间的转换 不用写任何转换方法、不用强转括号,编译器自动偷偷转

例如:

int int1 = 123;//小区间

float f1 = int1;//大区间

int a = 10;
float b = a;
float c = 10;
double d = 1.5f;

显式转换

1.第一种转换 强制转换:(要转换的类型)变量 (int)a    
float aa = 10.2f;
int bb = (int)aa; //把浮点数强制转换成整型 会省略小数部分
Console.WriteLine(bb); //10

2.第二种转换int.Parse(cc); 转成double类型只需要把int.Parse()  改成double.Parse()

//如果要是不能转换的时候 会报错
string cc = "10";
int dd = int.Parse(cc);//把cc转成整型
Console.WriteLine(dd + 10);//20
3.第三种转换万能转换的Convert
//Convert.ToInt16() 转成16位整型,
//Convert.ToInt32() 转成int类型
//Convert.ToInt64() 转成long类型
string ee = "10";//字符串类型
long eee = Convert.ToInt64(ee);
Console.WriteLine(eee + 30);//40

//转成字符串Convert.ToString()
Console.WriteLine(Convert.ToString(10)+30);//1030
//转成double类型
// Convert.ToDouble();
4.第四种转换 tryParse() 尝试转换,如果转换成功了 返回值为true,如果没有转换成功 整体结果为false
// int.TryParse( 要转换的数据,转成功之后的数据) result就是转成之后的数据
string ff = "ss";
bool success = int.TryParse(ff, out int result);//int 默认值是0,没转成功了 ,result值是0
Console.WriteLine("转换是否成功" + success + ",转成功了之后的数据:" + result);

其他类型转换

//数字转成字符串
int aaaa = 10;
//数字转成字符串最简单的方法使用拼接
string bbbb = aaaa + "";

//数字转成字符串通过采用toString()指令
Console.WriteLine(aaaa.ToString());


//字符串转数字
int.Parse("10");
Convert.ToInt16("10"); // 结果就是整数
int.TryParse("10", out int r);//r就是整型的数据

例子eg:

//从键盘输入身高(cm)和体重(kg),计算BMI值

// Console.ReadLine();// 读取用户输入是一个字符串类型,需要把字符串转成数字类型
Console.Write("请输入身高:");
float shenGao = float.Parse(Console.ReadLine());//输入身高

Console.Write("请输入体重:");
int tiZhong = int.Parse(Console.ReadLine());// 输入体重

//计算BMI
float BMI = tiZhong / (shenGao * shenGao);  // / 除以
Console.WriteLine("BMI的值为:" + BMI);

更多推荐