要理解显式转换与隐式转换,先要理解值类型。
类型 | 描述 | 默认值 |
---|---|---|
bool | 布尔值,1字节 | False |
byte | 无符号整数,1字节 | 0 |
char | Unicode字符,2字节 | ‘\0’ |
decimal | 精确的十进制值,16字节 | 0.0M |
double | 双精度浮点型,8字节 | 0.0D |
float | 单精度浮点型,4字节 | 0.0F |
int | 有符号整数类型,4字节 | 0 |
long | 有符号整数类型,8字节 | 0L |
sbyte | 有符号整数类型,1字节 | 0 |
short | 有符号整数类型,2字节 | 0 |
uint | 无符号整数类型,4字节 | 0 |
ulong | 无符号整数类型,8字节 | 0 |
ushort | 无符号整数类型,2字节 | 0 |
隐式转换
大范围装小范围
无符号:double->float->ulong->uint-ushort->byte->char
有符号:double->float->long->int->short->sbyte->char
float num = 2.2f;
double num1 = num;
显式转换
1.括号强转:数值之间转换
一些个越级操作
double num = 2.222;
float num1 = (float)num;
2.Parse
后接字符串需符合前设定的变量类型,如这里123不能是123.56
int num = int.Parse("123");
3.Convert
int num = Convert.ToInt32("567");
short num1 = Convert.ToInt16("356");
4.ToString
string str = 569.ToString();