前言
上一章初步介绍了C#中的隐式转换,用了int和double这两种数据类型来举例,下面复习一下这个语句
double Chinese1=Convert.ToDouble(Chinese);//当有小数出现时用这个。详细请看链接:
既然有隐式转换,那么有没有显示转换呢?答案是当然有下面就来介绍一个例子:
例如我们在计算圆的面积的时候会有小数π,半径,有可能半径是int类型,当然圆周率肯定是double型的了,那么在计算圆的面积时候是不能进行直接计算的,需要转换一成相同的数据类型。
下面就是方法
//计算圆的面积π=3.14,R=4 int R = 4; double π = 3.1415; //方法一、强制转换 //int π1 = (int)π; //将double类型显示转换为int类型,π由3.14变为了3,这里就丢了精度 //方法二、使用math.Round()函数。 //double π1 = Math.Round(π, 4);//括号中的第一个是要转换的变量,第二个是变量要保留几位小数。 //方法三、用了隐式转换 double π1 = Convert.ToDouble(π); double S = π1 * R * R; Console.WriteLine("圆的面积为:{0}", S); Console.ReadKey();
方法一出现了丢精度的问题,直接将π后的小数省略了,计算结果为:
方法的的计算结果为:
方法三是用的隐式转换结果为:
后语
显示转换和隐式转换在实践中是很实用,需要多加练习,熟练掌握,孰能生巧。