C#基础语法————类型转换

1.类型转换

隐式类型转换:

我们要求等号两边参与运算的操作符的类型必须一致,如果不一致,满足下列条件会发生自动类型转换,或者称之为隐式类型转换。

a.两种类型兼容

例如:int和double兼容(都是数字类型)

b.目标类型大于源类型

例如:double>int  小的转大的

显示类型转换:

1.两种类型相兼容 int--double

2.大的转成小的 double--int

语法:

(待转换的类型)要转换的值;

总结:

自动类型转换:int-->double

显示类型转换:double-->int

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02_My_Second_Demo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //某商店T恤的价格为35元/件
            //裤子的价格120元/条,小明在该店买了3件T恤和2条裤子
            //应付多少钱?
            int t = 35;
            int k = 120;
            int money = 3 * t + 2 * k;
            Console.WriteLine(money);

            double money1 = money * 0.8;
            Console.WriteLine(money1);
            Console.ReadKey() ;
            //打八折的价格?

            int number = 10;
            //int--double
            double n = number;//自动类型转换 隐式类型转换

            double d = 303.6;
            //double--int //强制类型转换 显示类型转换
            int dd = (int)d;
            Console.WriteLine(dd);
            Console.ReadKey() ;
        }
    }
}

2.特殊类型转换

double d = n1 * 1.0 / n2;

对于表达式,如果一个操作数的类型为double类型,则整个表达式可提升为double类型

Console.WriteLine("{0:0.000}",d);

保留3位小数

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02_My_Second_Demo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int n1 = 10;
            int n2 = 3;
            double d = n1 * 1.0 / n2;
            Console.WriteLine("{0:0.000}",d);
            Console.ReadKey() ;
        }
    }
}

3.Convert类型转换

1.类型如果相兼容的两个变量,可以使用自动类型转换或者强制类型转换,但是,如果两个类型得变量不兼容,比如string与int或者string与double,这个时候,我们可以使用一个叫做convert得转换工厂进行转换。

注意:使用Convert进行类型转换,也需要满足一个条件:面上必须过的去。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _02_My_Second_Demo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string s = "123";
            //将字符串转换成int或者double
            double d = Convert.ToDouble(s);
            int i = Convert.ToInt32(s);
            Console.WriteLine(i);
            Console.WriteLine(d);
            Console.ReadKey();

            //让用户输入姓名,语文,数学,英语 三门课得成绩
            //然后给用户提示,xx,你的总成绩为xx分,平均成绩为xx分。
            Console.WriteLine("请输入你的姓名");
            string name = Console.ReadLine();
            Console.WriteLine("请输入你的语文成绩");
            string strChinese = Console.ReadLine();
            Console.WriteLine("请输入你的数学成绩");
            string strMath = Console.ReadLine();
            Console.WriteLine("请输入你的英语成绩");
            string strEnglish = Console.ReadLine();
            int chinses = Convert.ToInt32(strChinese);
            int math = Convert.ToInt32(strMath);
            int english = Convert.ToInt32(strEnglish);
            Console.WriteLine("{0},你的总成绩为{1},平均成绩为{2}", name, chinses + math + english, (chinses + math + english) / 3);
            Console.ReadKey();
            //也可以用double进行接受
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值