类型转换(what)
不同数据类型间的转换,如,将int类型转换为string类型
为什么需要类型转换(why)
从控制台接收到的用户输入的内容都是string类型,如果要进行计算,就需将接收到的内容转换换成数值类型
什么是隐式转换?
什么是强制转换
隐式转换:int→double
int num1 = 12; int num2 = 2; double sum = num1 * 0.1 / num2; Console.WriteLine("{0:0.00}",sum);//使用占位符{0:0.00}表示结构保留两位小数,并在控制台输出 Console.ReadKey();
输出结果为0.6
强制转换:
1.double→int:变量前面加(int)
double number = 12.2; int num = (int)number; //将double类型变量转换为int类型,变量前面加(int) Console.WriteLine(num); //在控制台输出结果 Console.ReadKey();
输出结果为12
2.int→string:转换的变量名.to要转换的类型
int num = 12; string result = num.ToString();//转换为string类型变量,转换的变量名.to要转换的类型 Console.WriteLine(result); Console.ReadKey();
输出的结果为12
3.string→int:
方法一、convert转换工厂
用户需要转换成什么类型就.to谁
Console.WriteLine("请输入你的高考成绩"); string strgrade = Console.ReadLine(); int grade = Convert.ToInt32(strgrade);//接收到的内容位字符串型数据,转换为int类型 Console.WriteLine("您的高考成绩为:"+grade); Console.ReadLine();
输出结果为:您的高考成绩为:666
方法二、int.Parse(要转换的字符串类型)
try //try catch语句,尝试下面的语句 { Console.WriteLine("请输入一个数字");//提示用户输入内容 string strGrade = Console.ReadLine();//接受用户输入内容 int result = int.Parse(strGrade);//将接收的内容转换为int类型数值 Console.WriteLine(result * 2); } catch //出现异常,走下面语句 { Console.WriteLine("您输入的内容无法转换为数字"); } Console.ReadKey();
输出结果(错误情况):
请输入一个数字
哈哈哈
您输入的内容无法转换为数字
方法三、int.TryParse(要转换的字符串变量)
Console.WriteLine("请输入一个数字"); string strgrade = Console.ReadLine(); int number = 0; bool result = int.TryParse(strgrade, out number);//定义一个布尔型变量,进行异常处理 if (result)//如果正确则走下句代码 { Console.WriteLine(number * 2);//输出结束 } else//否则 { Console.WriteLine("亲,您输入的内容不对哦"); } Console.ReadKey();
输出结果(错误情况):
请输入一个数字
哈哈哈
亲,您输入的内容不对哦