|
变量类型的转化:
转换原则 同类型的大的可以装小的,小类型的装大的就需要强制转换。
隐式转换:
同种类型的转换:- //有符号 long——>int——>short——>sbyte
- long l = 1;
- int i = 1;
- short s = 1;
- sbyte sb = 1;
- //隐式转换 int隐式转换成了long
- //可以用大范围 装小范围的 类型 (隐式转换)
- l = i;
- //不能够用小范围的类型去装在大范围的类型
- //i = l;
- l = i;
- l = s;
- l = sb;
- i = s;
- s = sb;
- ulong ul = 1;
- uint ui = 1;
- ushort us = 1;
- byte b = 1;
- ul = ui;
- ul = us;
- ul = b;
- ui = us;
- ui = b;
- us = b;
- //浮点数 decimal double——>float
- decimal de = 1.1m;
- double d = 1.1;
- float f = 1.1f;
- //decimal这个类型 没有办法用隐式转换的形式 去存储 double和float
- //de = d;
- //de = f;
- //float 是可以隐式转换成 double
- d = f;
- //特殊类型 bool char string
- // 他们之间 不存在隐式转换
- bool bo = true;
- char c = 'A';
- string str = "123123";
- //特殊类型 bool char string
- // 他们之间 不存在隐式转换
复制代码 不同类型的转换:
char类型可以隐式转换成数值型,根据对应的ASCII码来进行转换。
无符号的无法隐式存储有符号的,而有符号的可以存储无符号的。
显示转换
- 括号强转(注意精度问题 范围问题)
- //有符号类型
- int i=1;
- short s=(short)i;
- //无符号类型
- byte b=1;
- uint ui=(uint)b;
- //浮点数
- float f=1.5f;
- double d=1.5;
- f=(float)d;
- //无符号和有符号
- //要保证正数 注意范围
- int ui2=1;
- int i2=1;
- ui2=(uint)i2;
- //浮点和整型
- i2=(int)1.25f;
- //char和数值类型
- i2='A';
- char c=(char)i2;
复制代码 - Parse方法
- //Parse转换
- int i4=int.Parse("123");
- float f4=float.Parse("12.3");
- //注意类型和范围!
复制代码 - Convert法
- int a=Convert.ToInt32("12");
- a=Convert.ToInt32("1.35f");//会四舍五入
- a=Convert.ToInt32(true);//转为1 false转为0
复制代码 注意:在Convert转换中变量以Int做标准,例如 INT16 为int,ToSingle为float
ToDouble为double,ToBoolean为bool;
- 其它类型转换为string(调用ToString方式)
string str=true.ToString();
string str2=1.5f.ToString();
来源:https://www.cnblogs.com/TonyCode/archive/2023/10/08/17749674.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|