C# 是一门强类型语言,对类型要求比较严格,但是在一定的条件下也是可以相互转换的,
如将 int 型数据转换成 double 型数据。
C# 允许使用两种转换方式:隐式类型转换和显式类型转换。
1、 隐式类型转换
隐式类型转换是 C# 默认的以安全方式进行的转换,不会导致数据丢失。例如,从小的整数
类型转换为大的整数类型,从派生类转换为基类。
隐式转换主要是在整型、浮点型之间的转换,将存储范围小的数据类型直接转换成存储范围
大的数据类型。
示例代码如下:
1 int a = 100;
2 double d = a; //将int类型转换为double类型
3 float f = 3.14f;
4 d = f; //将float类型转换为double类型
隐式数值转换包括以下几种:
从 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 类型。
隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。
2、显式类型转换
显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据
丢失。
强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的,但数据类型需要兼
容。
强制类型转换的语法如下:
1 数据类型变量名 = (数据类型) 变量名或值;
举例如下:
1 double dbl_num = 12345678910.456;
2 int k = (int) dbl_num ;//此处运用了强制转换
二、数据类型转换方法
1、Parse 方法
C# Parse 方法用于将字符串类型转换成任意基本类型,具体的语法形式如下。
1 基本数据类型.Parse(字符串类型的值);
这里要求等号左、右两边的数据类型兼容。
举例如下:
2、Convert方法
Convert 方法是数据类型转换中最灵活的方法,它能够将任意数据类型的值转换成任意数据
类型,前提是不要超出指定数据类型的范围。
具体的语法形式如下:
1 数据类型 变量名 = convert.To数据类型(变量名);
这里 Convert.To 后面的数据类型要与等号左边的数据类型相匹配。
Convert 类常用的类型转换方法如下表所示:
方法 说明
Convert.ToInt16() 转换为整型(short)
Convert.ToInt32() 转换为整型(int)
Convert.ToInt64() 转换为整型(long)
Convert.ToChar() 转换为字符型(char)
Convert.ToString() 转换为字符串型(string)
Convert.ToDateTime(
)
转换为日期型(datetime)
Convert.ToDouble() 转换为双精度浮点型(double)
Conert.ToSingle() 转换为单精度浮点型(float)