C#语言快速热身~~数据类型之间的转换(Parse、TryParse、Convert)

前言

        Convert、Parse、TryParse 、(int)三个函数都是将值转换成整数,但是四者之间各有异同,开发人员可以根据情况选用最合适的。本篇介绍数据类型直接转换希望对大家有所帮助。

一. 隐式类型转换和显示类型转换

1. 自动类型转换(隐式类型转换)
    不同类型之前进行计算时,数据类型会往大的数据类型转换
2. 强制类型转换(显示类型转换)
    强制类型转换往往是从宽大的类型转换为小的数据类型

	int a = 10;
	double b = 20.5;
	double c = a +b;//低级转高级,自动转换
	int d = (int) c;//高级转低级,强制转换

二. 使用Parse进行数据类型转换

方法 说明
int.Parse(string value) 字符串类型转换成整数类型(int)
char.Parse(string value) 字符串类型转换成字符类型(char)
double.Parse(string value) 字符串类型转换成单精度浮点类型(double)
Single.Parse(string value) 字符串类型转换成双精度浮点类型(float)

注意:

  1. 该方式是将字符串转换为整数类型;
  2. 如果字符串内容为空或者null时,则抛出ArgumentNullException异常;
  3. 如果字符串内容不是数字,则抛出FormatException异常;
  4. 如果字符串内容所表示数字超出指定的数据类型可表示的范围,则抛出OverflowException异常。

三. 使用TryParse进行数据类型转换

方法 说明
int.TryParse(string s, out int result) 字符串类型转换成整数类型(int)
char.TryParse(string s, out char result ) 字符串类型转换成字符类型(char)
double.TryParse(string s, out double result) 字符串类型转换成单精度浮点类型(double)
Single.TryParse(string s, out float result) 字符串类型转换成双精度浮点类型(float)
	Console.Write("请输入int类型的整数:");
	int result = 0;
    bool flag = int.TryParse(Console.ReadLine(),out result);
    if(flag)
    {
    	Console.WriteLine($"您输入的数字为{result}");
	}
    else
    {
    	Console.WriteLine("输入错误!");
	}

注意:

  1. 该方式是将字符串转换为整数类型,但是它不会出现异常。
  2. 如果转换成功返回 true,如果转换失败返回 false。
  3. 很明显,最后一个参数为输出值,如果转换失败,输出值为 0;如果转换成功,则输出相应的值。

四. 使用Convert进行数据类型转换

方法 说明
Convert.ToInt32() 转换为整数类型(int)
Convert.ToChar() 转换为字符型(char)
Convert.ToDouble() 转换为双精度浮点型(double)
Convert.ToSingle() 转换为单精度浮点型(float)
Convert.ToString() 转换为字符串类型(string)
Convert.ToDateTime() 转换为日期类型(datetime)

注意:

  1. 如果相兼容的两个变量,可以使用自动类型转化或者强制类型转换.
  2. 如果两个变量不兼容,我们就需要用到convert类进行转换。
  3. 转换为int型数据后进行 了四舍五入的计算。
  4. 使用Convert进行强制类型转化也要满足一个条件;那就是面上要过得去。例如:string num = “123abc”;不能转换成数值数值型
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章