跳到主要内容

任务五 Convert类

知识点​

Convert类位于System命名空间中,用于将数据从一个类型转换成另一个类型。这些方法都是静态方法,可通过 Convert.方法名(参数) 来使用。

1. Convert类的常见方法(表9-9)​

方法说明
ToBoolean将数据转换成布尔型(Boolean)
ToChar将数据转换成字符型(Char)
ToDateTime将数据转换成日期型(DateTime)
ToDecimal将数据转换成高精度小数类型(Decimal)
ToDouble将数据转换成双精度浮点型(Double)
ToSingle将数据转换成单精度浮点型(Single)
ToString将数据转换成字符串型(String)

2. ToBoolean方法​

功能:将给定的数值类型的对象转换为bool类型。

语法:Convert.ToBoolean(object value)

说明:value是数值类型数据或具有逻辑类型格式的字符串。当数值为0时返回false,当数值非0时返回true。

示例:

static void Main(string[] args)
{
double a1 = 0;
int a2 = 6;
string a3 = "true";
bool b1 = Convert.ToBoolean(a1);
bool b2 = Convert.ToBoolean(a2);
bool b3 = Convert.ToBoolean(a3);
Console.WriteLine(b1);
Console.WriteLine(b2);
Console.WriteLine(b3);
Console.Read();
}

运行结果(图9-32):False、True、True

转换规则:数值0 → False,非0数值 → True,字符串"true" → True

3. ToChar方法​

功能:将指定的对象的值转换为Char类型。

语法:Convert.ToChar(object value)

说明:value能作为某一字符ASCII码的数值,其范围为0~255。

示例:将数值65和66转换为ASCII码对应的字符。

static void Main(string[] args)
{
string d1 = "a";
int a1 = 65;
int a2 = 66;
char b1 = Convert.ToChar(a1);
char b2 = Convert.ToChar(a2);
char b3 = Convert.ToChar(d1);
Console.WriteLine(b1);
Console.WriteLine(b2);
Console.WriteLine(b3);
Console.Read();
}

运行结果(图9-33):A、B、a

说明:ASCII码65对应大写字母A,66对应大写字母B。

4. ToDateTime方法​

功能:将日期格式字符串转换为日期型。

语法:Convert.ToDateTime(object value)

说明:value是具有日期格式的字符串。

示例:

static void Main(string[] args)
{
string a = "01/02/09";
DateTime b = Convert.ToDateTime(a);
Console.Write(b);
Console.ReadLine();
}

运行结果(图9-34):2001/2/9 0:00:00

5. ToDecimal方法​

功能:将数字格式字符串或者其他可转换为数字的对象变量转换为Decimal类型。

语法:Convert.ToDecimal(object value)

说明:value是数字格式字符串或逻辑类型。逻辑假转换为0,逻辑真转换为1。

示例:

static void Main(string[] args)
{
bool b1 = false;
bool b2 = true;
string str = "33.66666666667";
decimal a1 = Convert.ToDecimal(b1);
decimal a2 = Convert.ToDecimal(b2);
decimal a3 = Convert.ToDecimal(str);
Console.WriteLine(a1);
Console.WriteLine(a2);
Console.WriteLine(a3);
Console.ReadLine();
}

运行结果(图9-35):0、1、33.66666666667

6. ToDouble方法​

功能:将数字格式字符串或者其他可转换为数字的对象变量转换为Double类型。

语法:Convert.ToDouble(object value)

说明:value是数字格式字符串或逻辑类型。逻辑假转换为0,逻辑真转换为1。

示例:

static void Main(string[] args)
{
bool b1 = false;
bool b2 = true;
string str = "33.66666666667";
double a1 = Convert.ToDouble(b1);
double a2 = Convert.ToDouble(b2);
double a3 = Convert.ToDouble(str);
Console.WriteLine(a1);
Console.WriteLine(a2);
Console.WriteLine(a3);
Console.ReadLine();
}

运行结果(图9-36):0、1、33.66666666667

7. ToSingle方法​

功能:将数字格式字符串或者其他可转换为数字的对象变量转换为float类型。

语法:Convert.ToSingle(object value)

说明:value是数字格式字符串或逻辑类型。逻辑假转换为0,逻辑真转换为1。

示例:

static void Main(string[] args)
{
bool b1 = false;
bool b2 = true;
string str = "33.66666666667";
float a1 = Convert.ToSingle(b1);
float a2 = Convert.ToSingle(b2);
float a3 = Convert.ToSingle(str);
Console.WriteLine(a1);
Console.WriteLine(a2);
Console.WriteLine(a3);
Console.ReadLine();
}

运行结果(图9-37):0、1、33.66667

注意:float类型精度低于double和decimal,所以33.66666666667被截断为33.66667。

8. ToString方法​

功能:将数据转换为String类型。

语法:Convert.ToString(object value)

说明:value是待转换类型数据。

示例:

static void Main(string[] args)
{
int num1 = 123;
string str1 = Convert.ToString(num1);
Console.WriteLine("num1转换为字符串结果为:" + str1);
Console.ReadLine();
}

运行结果(图9-38):num1转换为字符串结果为:123

9. Convert类方法总结​

方法目标类型常用场景
ToBooleanbool数值0→False,非0→True;字符串"true"→True
ToCharcharASCII码数值(0~255)→对应字符
ToDateTimeDateTime日期格式字符串→日期型
ToDecimaldecimal高精度小数转换,适合财务计算
ToDoubledouble双精度浮点转换
ToSinglefloat单精度浮点转换(精度较低)
ToStringstring任意类型→字符串

要点总结:

  • Convert类所有方法都是静态方法,通过 Convert.方法名(参数) 调用
  • 逻辑类型转换规律:false → 0,true → 1
  • 数值转布尔:0 → false,非0 → true
  • ToChar的数值参数范围为0~255(ASCII码范围)
  • ToSingle精度最低,ToDecimal精度最高
  • ToString是最常用的转换方法,可将任意类型转为字符串