一、类型转换
类型转换包括类型自动转换和强制类型转换
1.类型自动转换
参与运算(算数运算和赋值运算)的操作数和结果类型必须一致;当不一致时,满足下面条件,系统自动完成类型转换。
1)两种类型兼容或目标类型大于源类型
两种类型兼容 例如:int和double兼容(两种都是数字类型)
目标类型大于源类型 例如:double>int
2)表达式
如果一个操作数为double类型,则整个表达式可提升为double类型
2.强制类型转换
强制类型转换时数据类型一定要兼容
强制转换类型的语法:(数据类型名)待转换的值
例:int b=(int)3.14
注意:int转double隐式转换,多小数
double转int显式转换,丢精度
二、类型转型
Convert不再仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程。
通过Convert.ToInt32(能转换int类型的数据)来把其他类型数据转换成int类型。
下面介绍三种方法转换字符串变成数字
1.Convert.To***
2.int.Parse(string)
3.boolresult=int.TryParse(string,out int)
类型转换包括类型自动转换和强制类型转换
1.类型自动转换
参与运算(算数运算和赋值运算)的操作数和结果类型必须一致;当不一致时,满足下面条件,系统自动完成类型转换。
1)两种类型兼容或目标类型大于源类型
两种类型兼容 例如:int和double兼容(两种都是数字类型)
目标类型大于源类型 例如:double>int
2)表达式
如果一个操作数为double类型,则整个表达式可提升为double类型
2.强制类型转换
强制类型转换时数据类型一定要兼容
强制转换类型的语法:(数据类型名)待转换的值
例:int b=(int)3.14
注意:int转double隐式转换,多小数
double转int显式转换,丢精度
二、类型转型
Convert不再仅是内存级别的转换,而是考虑数据意义的转换。Convert是一个加工、改造的过程。
通过Convert.ToInt32(能转换int类型的数据)来把其他类型数据转换成int类型。
下面介绍三种方法转换字符串变成数字
1.Convert.To***
2.int.Parse(string)
3.boolresult=int.TryParse(string,out int)
Console.WriteLine("请输入数字");
string strNum = Console.ReadLine();
//int age = Convert.ToInt32(strNum);//方法一 有可能会出现异常的代码
//int age = int.Parse(strNum);//方法二
int age = 0;
bool result = int.TryParse(strNum, out age);//方法三 这个方法的返回值是bool类型的
//也就是这一行代码int.TryParse()要用bool类型的变量来接收
if (result)
{
Console.WriteLine(age * 2);
}
else
{
Console.WriteLine("您输入的内容无法转换成数字");
}
Console.ReadKey();