变量的数据类型和类型转换(二)

上次说到int类型里面输入一个string字符串,结果程序崩溃了
 
  int i, j;
 Console.WriteLine( "请输入第一个数字:");
 i = int.Parse(Console.ReadLine());
 Console.WriteLine( "请输入第二个数字:");
 j = int.Parse(Console.ReadLine());
 Console.WriteLine( "{0}+{1}={2}", i, j, i + j);
 
原因就是string类型里面能写的东西太多了,可以写数字也能写字符,还能写符号,数字还好办,通过int.parse安全转换成了整数,字符可就转不过去了。可见,类型转换也不是万能的,要转换,必须保证目标类型至少要能容纳被转换的类型。如int转换到double,整数变小数无所谓,要是double转int,小数点后面的数字就没了,要是在做计算题,这结果可就差太多了。不妨执行一下下面的代码看看结果。
double x = 3.13;
int i = ( int)x;
Console.WriteLine( "i的值是:{0}         x的值是:{1}",i,x);
 
另外,所有的数字类型都能转换成string类型。方法如下:
double x = 3.13;
string str = x.ToString()+ "是数字";
Console.WriteLine(str);
结果输出“3.13是数字”,此时数字已经转换为字符串并和后面的字符串拼接起来了。
 
由此可见,类型转换一般用以下几种方法:
1、数字转数字,用"x=(类型)值"这样,如x=(int)y,x=(double)y等等。
2、数字转字符,用"x=y.ToString()"这样,要注意大小写哦。
3、字符转数字,用"x=类型.Parse(字符)"这样,同样要注意大小写。
 
我噻,居然转换个类型有三种写法,和茴香豆的茴有一拼哦,有没有万能的方法搞定呢?答案是肯定的:
double x =3.134;
int i = Convert.ToInt32(x);
string str = Convert.ToString(x);
Console.WriteLine( "i的值是:{0}         str的值是:{1}", i, str);
使用convert的方法可以实现任何类型转换,是否很方便呢?唯一要记得的是:必须保证目标类型至少要能容纳被转换的类型。也就是要能转换才行!否则咣的一声错误提示又要跑出来了。
 
 
 

你可能感兴趣的:(C#,笔记,心得,初学,休闲)