括号强转
作用:一般情况下 将高精度的类型强制转换为低精度
语法:变量类型 变量名 = (变量类型)变量;
注意:精度、范围
有符号整型 | |
无符号整型 | |
浮点之间 | |
无符号和有符号 | 在强转时 一定要注意范围 不然得到的结果 可能有异常 |
浮点和整型 | 浮点数强转成整型时 会直接抛弃掉小数点后面的小数(不会四舍五入) |
char和数值类型 | |
bool 和 string 是不能够通过 括号强转的 在强转时 一定要注意范围 不然得到的结果 可能有异常 |
Parse法
作用:把字符串类型转换为对应的类型
语法:变量类型.Parse("字符串")
注意:字符串必须能够转换成对应类型 否则报错
有符号 | int i4 = int.Parse("123"); |
无符号 | int i4 = uint.Parse("1"); |
浮点数 | float f3 = float.Parse("123.45"); |
特殊类型 | bool b5 = bool.Parse("true"); char c2 = char.Parse("A"); |
注意:我们填写的字符串 必须是要能够转成对应类型的字符 如果不合符规则 会报错 注意:值的范围 必须是能够被变量存储的值 否则报错 |
Convert法
作用:更准确的将 各个类型之间进行相互转换
语法:Convert.To目标类型(变量或常量)
注意:填写的变量或常量必须正确 否则出错
转字符串 如果是把字符串转对应类型 那字符串一定要合法合规 | int a = Convert.ToInt32("12"); |
精度更准确 精度比括号强转好一点 会四舍五入 | a = Convert.ToInt32(1.65845f); a = 2 |
特殊类型转换 | 把bool类型也可以转成 数值类型 true对应1 false对应0 |
每一个类型对应的Convert中的方法 | |
sbyte byte | Convert.ToSByte(); Convert.ToByte(); |
short ushort | Convert.ToInt16(); Convert.ToUInt16(); |
int uint | Convert.ToInt32(); Convert.ToUInt32(); |
long ulong | Convert.ToInt64(); Convert.ToUInt64(); |
float double decimal | Convert.ToSingle("13.2"); Convert.ToDouble("13.2"); Convert.ToDecimal("13.2"); |
bool | Convert.ToBoolean("true"); |
char | Convert.ToChar("A"); |
string | Convert.ToString(非字符串变量); |
其它类型转string
作用:拼接打印
语法:变量.ToString()
string str6 = 1.ToString();
str6 = true.ToString();
str6 = 123.45f.ToString();
str6 = 'A'.ToString();//当我们进行字符串拼接时 非字符串类型就自动会调用 ToString 转成string类型
str6 = "123123" + 1 + true + 1.23;