【蓝鸥AR/VR开发基础】类型转换

蓝鸥(www.lanou3g.com)是一家集产、学、研、创为一体的综合性移动互联网研发培训机构,致力于iOS开发、Unity3D游戏开发、Android开发、HTML5前端开发和Web安全攻防等技术人才的培养。

类型转换包括:自动转换+强制转换

一、自动转换

1、自动转换:由系统自动完成,不会导致数据精度丢失,只能从低精度类型转换高精度类型。

usingSystem;

namespaceLesson07

{

classMainClass

{

publicstaticvoidMain(string[]args)

{

//自动类型转换

//只能由低精度类型高精度类型转换

inta=3;//整数部分

floatb=4.6f;//整数,小数部分

b=a;//自动将int类型变量a的值转换成float类型,然后进行赋值。

Console.WriteLine(b);

}

}

}

2、精度由低到高byte

只要是由低精度类型到高精度类型,都可以由系统自动转换,我们可以不参与!

usingSystem;

namespaceLesson07

{

classMainClass

{

publicstaticvoidMain(string[]args)

{

//自动类型转换

//只能由低精度类型高精度类型转换

inta=3;//整数部分

floatb=4.6f;//整数,小数部分

b=a;//自动将int类型变量a的值转换成float类型,然后进行赋值。

Console.WriteLine(b);

//精度由低到高byte

shortc=5;

a=c;

Console.WriteLine(a);

}

}

}

3、如果反过来把int类型转为short类型,系统会自动报错!

因为系统无法自动把高精度类型转换成低精度类型,这时候如果要转换,就要我们人工干预,这时候就要强制类型转换。

二、强制转换

强制转换:从高精度转向低精度类型需要强制转换,会丢失精度,需要显式地进行转换。

1、使用类型进行转换,会直接舍去小数部分

usingSystem;

namespaceLesson07

{

classMainClass

{

publicstaticvoidMain(string[]args)

{

//1.使用类型进行转换,会直接舍去小数部分

inti=5;

floatj=15.6f;

i=(int)j;

Console.WriteLine(i);

shortd=4;

d=(short)i;

Console.WriteLine(d);

}

}

}

2、使用系统提供的强制转换方式进行转换,Convert_强制转换会进行四舍五入。

//2.使用系统提供的强制转换方式进行转换,会进行四舍五入。

usingSystem;

namespaceLesson07

{

classMainClass

{

publicstaticvoidMain(string[]args)

{

//2.使用系统提供的强制转换方式进行转换,会进行四舍五入。

intx=6;

floaty=9.7f;

x=Convert.ToInt32(y);//10

Console.WriteLine(x);

y=9.0f;

x=Convert.ToInt32(y);//9

Console.WriteLine(x);

}

}

}

注释说明:

Convert_强制转换

int32_32位整数类型(int)

int16_16位整数类型(short)

举例:

intx=6;

floaty=9.7f;

//Convert_强制转换

//int32_32位整数类型(int)

x=Convert.ToInt32(y);//10

//int16_16位整数类型(short)

shortz=Convert.ToInt16(y);//10

Console.WriteLine(x);

Console.WriteLine(z);

针对于Convert后面的转换方式,大家可以多多练习!

特殊情况:single_单精度浮点型

intr=4;

//single_单精度浮点型

floatt=Convert.ToSingle(r);

Console.WriteLine(t);

3.使用类型的解析方法进行转换,Parse_解析只能把字符串转成整数或者浮点数。

在使用解析方法之前,我们正常的情况下,把数字字符串转成int类型,使用的方式如下:

stringstr="123";

intv=Convert.ToInt32(str);

Console.WriteLine(v);

//3.使用类型的解析方法进行转换,Parse_解析只能把字符串转成整数或者浮点数。

stringstr="123";

//Parse_解析

intv=int.Parse(str);//123

v++;//124

Console.WriteLine(v);

strings="5.6";

floatss=float.Parse(s);

Console.WriteLine(ss);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容