前言
在涉及到参数运算的时候往往会遇到两种数据类型不一致的情况,这时时无法直接进行运算的,如果想要进行运算则需要满足下列条件——系统自动完成类型转换——隐式转换
内容
一、两种类型兼容
例如:int 和double兼容(都是数字型)
目标类型大于源类型(前者的取值范围大于后者的取值范围)
例如:double>int double类型的数据可以代替int类型的数据
对于表达式
如果一个操作数为double型,则整个表达式可提升为double型
语法:(数据类型名)待转换的值
注意:
double 类型的数据 转换为int类型的数据 丢精度
强制类型转换数据类型一定要相交融
int类型可以直接转换为double类型但是多小数
double类型转换为int丢精度
三、例如
计算语数外三科的总成绩用了两种方式
用户输入语数外的成绩自动求和一般情况下,成绩没有小数暂使用int类型语法如下:
Console.WriteLine("请输入数学成绩");
string math=Console.ReadLine();
Console.WriteLine("请输入语文成绩");
string Chinese=Console.ReadLine();
Console.WriteLine("请输入英语成绩");
string English=Console.ReadLine();
//这里数据类型为string类型,不能进行计算所以要进行类型转换为数字类型
int math1 = Convert.ToInt32(math);
int Chinese1 = Convert.ToInt32(Chinese);
int English1 = Convert.ToInt32(English);
int sum = math1 + Chinese1 + English1;
Console.WriteLine("总成绩为:{0}", sum);
Console.ReadKey();
显示的结果为:
但是如果成绩有小数,那么这种方式就无法计算结果,所以要采用以下这种方式:
//让用户输入他的语文成绩和数学成绩,计算他的总成绩并显示出来
Console.WriteLine("请输入数学成绩");
string math=Console.ReadLine();
Console.WriteLine("请输入语文成绩");
string Chinese=Console.ReadLine();
Console.WriteLine("请输入英语成绩");
string English=Console.ReadLine();
//这里数据类型为string类型,不能进行计算所以要进行类型转换为数字类型
//都是数字类型的才能计算
double math1 = Convert.ToDouble(math);
double Chinese1 = Convert.ToDouble(Chinese);
double English1 = Convert.ToDouble(English);
Double sum = math1 + Chinese1 + English1;
Console.WriteLine("总成绩为{0}", sum);
显示的结果为
小结:对于不同的数据类型有不同的转换方式,需要自行摸索
总结
对于学习编程,需要对比的思考去学习,多时间多上手。