类型转换
关于类型转换
一.隐式转换
什么是类型转换?
就是不同变量类型之间的相互转换
隐式转换的基本规则→不同类型之间自动切换
(大范围装小范围)(核心)
1.相同大类型之间的转换
1 |
|
2.不同大类型之间的转换
无符号和有符号之间
1 |
|
浮点数装整数
1 |
|
特殊情况
char类型可以隐式转换成整型和浮点型、
char类型隐式转换成数值类型,其对应的数字其实是一个ASCII码。
string类型无法和其他类型进行隐式转换
总结!!!!
有符号:long→int→short→sbyte
无符号:ulong→uint→ushort→byte
浮点数:double→float
decimal这个类型没有办法用隐式转换的形式去存储double和float
double→float→整数(无符号,有符号)→char
decimal→整数(无符号,有符号)→char
string和bool不参与隐式转换
二.显示转换
1.括号强转
作用:一般情况下,将高精度的类型强制转换为低精度。
语法:变量类型 变量名 =(变量类型)变量;
注意: 精度问题 范围问题
1 |
|
Ps:括号强转可能会出现范围问题造成的异常
浮点数类型影响的就是精度问题
bool,string 不能够通过括号强转
2.Parse法
作用:把字符串转换为对应的类型(只限于字符串!!!)
语法:变量类型.Parse(“字符串”)
注意:字符串必须能够转换成对应类型,并且要考虑范围,否则报错。
1 |
|
Ps:同样不能转换bool类型
3.Convert法
作用:更准确的将各个类型之间进行相互转换。(精度更高)
语法:Convert.To 目标类型(变量或者常量)
注意:填写的变量或者常量必须正确,否则出错。
1 |
|
4.其他类型转string
作用:拼接打印
语法:变量.toString();
1 |
|
Ps:当我们在 Console.readLine()时,系统其实会自动把你输入的变量转换成string字符串格式存储起来。
类型转换
https://gaster44.github.io/2023/10/21/类型转换/