C#初识隐式转换

前言

在涉及到参数运算的时候往往会遇到两种数据类型不一致的情况,这时时无法直接进行运算的,如果想要进行运算则需要满足下列条件——系统自动完成类型转换——隐式转换


内容

一、两种类型兼容

例如: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);
显示的结果为



小结:对于不同的数据类型有不同的转换方式,需要自行摸索


总结


对于学习编程,需要对比的思考去学习,多时间多上手。
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值