C#学习教程04——数据类型转换

4.数据类型转换

4.1 隐式转换

隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围大的数据类型。

隐式数值转换包括以下几种:

  • 从 sbyte 类型到 short,int,long,float,double,或 decimal 类型。
  • 从 byte 类型到 short,ushort,int,uint,long,ulong,float,double,或 decimal 类型。
  • 从 short 类型到 int,long,float,double,或 decimal 类型。
  • 从 ushort 类型到 int,uint,long,ulong,float,double,或 decimal 类型。
  • 从 int 类型到 long,float,double,或 decimal 类型。
  • 从 uint 类型到 long,ulong,float,double,或 decimal 类型。
  • 从 long 类型到 float,double,或 decimal 类型。
  • 从 ulong 类型到 float,double,或 decimal 类型。
  • 从 char 类型到 ushort,int,uint,long,ulong,float,double,或 decimal 类型。
  • 从 float 类型到 double 类型。

4.2 强制类型转换

强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的,但数据类型需要兼容。

数据类型变量名 = (数据类型)  变量名或值;

4.3 Parse方法

Parse方法用于将字符串类型转换成任意类型。

数据类型   变量 = 数据类型.Parse(字符串类型的值);
using System;
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("请输入三个数字");
        int num1 = int.Parse(Console.ReadLine());
        int num2 = int.Parse(Console.ReadLine());
        int num3 = int.Parse(Console.ReadLine());
        int maxvalue = num1;
        if (num2 > maxvalue)
        {
            maxvalue = num2;
        }
        if (num3 > maxvalue)
        {
            maxvalue = num3;
        }
        Console.WriteLine("三个数中最大的值是:" + maxvalue);
    }
}

4.4 Convert方法

Convert方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据类型,前提是不要超出指定数据类型的范围。

数据类型  变量名 = convert.To数据类型(变量名);
方法说明
Convert.ToInt16()转换为整型(short)
Convert.ToInt32()转换为整型(int)
Convert.ToInt64()转换为整型(long)
Convert.ToChar()转换为字符型(char)
Convert.ToString()转换为字符串型(string)
Convert.ToDateTime()转换为日期型(datetime)
Convert.ToDouble()转换为双精度浮点型(double)
Conert.ToSingle()转换为单精度浮点型(float)
using System;
class Program
{
    static void Main(string[] args)
    {
         float num1 = 1103.56f;
         int integer;
         string str;
         integer = Convert.ToInt32(num1);
         str = Convert.ToString(num1);
         Console.WriteLine("转换为整型数据的值{0}", integer);
         Console.WriteLine("转换为字符串{0}",str);
    }
}

// 转换为整型数据的值1104
// 转换为字符串1103.56

4.5 To方法

方法描述
ToBoolean如果可能的话,把类型转换为布尔型。
ToByte把类型转换为字节类型。
ToChar如果可能的话,把类型转换为单个 Unicode 字符类型。
ToDateTime把类型(整数或字符串类型)转换为 日期-时间 结构。
ToDecimal把浮点型或整数类型转换为十进制类型。
ToDouble把类型转换为双精度浮点型。
ToInt16把类型转换为 16 位整数类型。
ToInt32把类型转换为 32 位整数类型。
ToInt64把类型转换为 64 位整数类型。
ToSbyte把类型转换为有符号字节类型。
ToSingle把类型转换为小浮点数类型。
ToString把类型转换为字符串类型。
ToType把类型转换为指定类型。
ToUInt16把类型转换为 16 位无符号整数类型。
ToUInt32把类型转换为 32 位无符号整数类型。
ToUInt64把类型转换为 64 位无符号整数类型。

在C#语言中数据类型分为值类型和引用类型,将值类型转换为引用类型的操作称为装箱,相应地将引用类型转换成值类型称为拆箱。

// 装箱
int a=100;
string str=a.ToString();
// 拆箱
a=int.Parse(str);
int val = 100;
//这是一个装箱的过程,是将值类型转换为引用类型的过程
object obj = val;
Console.WriteLine("对象的值 = {0}", obj);
//这是一个拆箱的过程,是将值类型转换为引用类型,再由引用类型转换为值类型的过程
int num = (int) obj;
Console.WriteLine("num = {0}", num);

// 对象的值 = 100
// num = 100
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暄踽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值