C# 学习笔记——类型转换

类型转换

隐士类型转换(自动类型转换)
显示类型转换(强制类型转换)
Convert类型转换
int.Parse()和int.TryParse()

注意:所有的类型都可以转换成string,直接调用ToString()即可。

1 隐士类型转换

又叫自动类型转换。
规则:

  1. 当参与运算的数据的类型不同时,编译系统会自动先将它们转换成同一类型,然后再进行运算。
  2. 所有的浮点运算都是以双精度进行的。
  3. char 型和 short 型数据参与运算时,必须先转换成 int 型。
  4. 有符号整型和无符号整型混合运算时,有符号型要转换成无符号型,运算的结果是无符号的。
  5. 整型和浮点型混合运算时,整型先转换成浮点型,运算的结果是浮点型。
  6. 在赋值运算中,当赋值号两边的数据类型不同时,右边的类型会转换为左边的类型,然后再赋给左边。如果右边数据类型的长度比左边长,那么将会丢失数据,这样就会降低精度,所以编译的时候会产生警告。
    隐士类型转换是由下图从低到高进行的。
    在这里插入图片描述
			//由int转换成double
			int n1 = 10;
            int n2 = 3;
            double d = n1 / n2;
            Console.WriteLine("{0:0.0000}",d);
            Console.ReadKey();

在这里插入图片描述

2 显示类型转换

又叫强制类型转换。
语法:
(要转换的数据类型)表达式或变量或值

3 Convert类型转换

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

			//提示用户输入一个数字
            Console.WriteLine("请输入一个数字:");
            string str = Console.ReadLine();
            //将string类型转换成为double类型
            double s = Convert.ToDouble(str);
            Console.WriteLine(s);
            Console.ReadKey();

在这里插入图片描述

4 int.Parse()和int.TryParse()

1、int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出异常;
如果字符串内容不是数字,则抛出异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出异常;

 			int number = int.Parse("123abc");
            Console.WriteLine(number);
            Console.ReadKey();

抛出异常
在这里插入图片描述

2、int.TryParse与 int.Parse 又较为类似,但它不会产生异常,转换成功返回 true,转换失败返回 false。最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值

            int number = 100;
            bool b = int.TryParse("123abc", out number);
            Console.WriteLine(b);
            Console.WriteLine(number);
            Console.ReadKey();

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值