新乡专业网站制作,网站开发可以做什么,建设我们的网站教案,中国工程招标网采购招标网类型转换
什么是类型转换
类型转换 就是不同变量类型之间的相互转换
类型转换--隐式转换
隐式转换的基本规则--不同类型之间自动转换 大范围装小范围
知识点一 相同大类之间的转换
有符号 long--int--short--sbyte
无符号 ulong--uint--ushort--int--short--sbyte
无符号 ulong--uint--ushort--byte
浮点数 decimal double--float
特殊 decimal这个类型 没有办法用隐式转换的形式 去存储 double和float
知识点二 不同大类之间的转换
无符号装有符号 有符号的变量 是不能够 隐式转换 无符号的
有符号装无符号 有符号变量 是可以 装 无符号变量的 前提是 范围一定要是涵盖的 存在隐式转换
浮点数装整数
整形转为浮点数 是存在隐式转换的
浮点数 是可以装载任何类型的 整数的
decimal 不能隐式存储 float和double 但是它可以隐式的存储整形
double--float--所有整形无符号、有符号 decimal--所有整形无符号、有符号
整数装浮点数 整数不能隐式存储 浮点数 因为 整数 不能存小数 特殊类型和其他类型之间
bool bool没有办法和其他类型 相互隐式转换
char char 没有办法隐式的存储 其他类型的变量
char类型 可以隐式的转换为 整数和浮点型 是将char转换为int char隐式转换成 数值类型是 对应的数字 其实是一 ASCII码 计算机里存储 2进制 字符 中文 英文 标点符号 在计算机中都是一个数字 一个字符 对应一个数字 ASCII码是一种对应关系
char c A;
int i c;
ConSole.WriteLine(i);
string 无法和其他类型进行隐式转换
总结 隐式转换 规则 高精度大范围装 低精度小范围 double--float--整数有符号、无符号--char decimal--整数有符号、无符号--char string 和bool 不参与隐式转换
类型转换--显示转换
知识点一 括号强转
作用 一般情况下 将高精度的类型强制转换为低精度 语法 变量类型 变量名 变量类型)变量 注意 精度问题 范围问题
括号强转 可能会出现范围问题 造成的异常
short s 1;
int i 2 ;
s (short) i ;
在强转时 一定要注意范围 不然得到的结果 可能异常
浮点和整形 浮点数强转成整形时 会直接抛弃小数点后面的小数
char和数值类型 int i2 A; char c (char)i2; Console.WriteLine(c);
bool和string 是不能够通过 括号强转的
知识点二 Parse法
作用 把字符串类型转换为对应的类型 语法变量类型.Parse(字符串) 注意字符串必须能够转换成对应类型 否则报错
有符号
int i4 int.Parse(123); Console.WriteLine(i4);
Console.WriteLine(sbyte.Parse(1)); Console.WriteLine(long.Parse(123456));
值的范围 必须是能够被变量存储的值 否则报错
无符号 Console.WriteLine(byte.Parse(1)); Console.WriteLine(ushort.Parse(12)); Console.WriteLine(uint.Parse(123)); Console.WriteLine(ulong.Parse(1233445)); 浮点数 float f3 float.Parse(1.3); double d3 double.Parse(1.222); 特殊类型 bool b5 bool.Parse(true); Console.WriteLine(b5); char c2 char.Parse(4); Console.WriteLine(c2); 知识点三 Convert 法
作用 更准确的将 各类型之间进行相互转换 语法Convert.To目标类型变量或常量 注意填写的变量或常量必须正确 否则出错
转字符串 如果是把字符串转对应类型 那字符串一定要合法合规 int a Convert.ToInt32(12); Console.WriteLine(a); 精度比括号强转好一点 会四舍五入 a Convert.ToInt32(1.678f); Console.WriteLine(a);
把bool类型也可以转成 数值类型 true对应1 false对应0 a Convert.ToInt32(true); Console.WriteLine(a); a Convert.ToInt32(false); Console.WriteLine(a); 每一个类型都存在对应的 Convert中的方法 sbyte sb5 Convert.ToSByte(1); short s5 Convert.ToInt16(1); int i5 Convert.ToInt32(123); long l5 Convert.ToInt64(1234); byte sb6 Convert.ToByte(1); ushort s6 Convert.ToUInt16(1); uint i6 Convert.ToUInt32(123); ulong l6 Convert.ToUInt64(1234); float f5 Convert.ToSingle(134.3); double d5 Convert.ToDouble(12.334); decimal de5 Convert.ToDecimal(12.3456); bool bo5 Convert.ToBoolean(true); char ch5 Convert.ToChar(A); string str5 Convert.ToString(1234);
知识点四 其他类型转string 作用拼接打印 语法变量.ToString(); string str6 1.ToString(); str6 true.ToString(); str6 A.ToString(); str6 1.2f.ToString(); int aa 1; str6 aa.ToString();
当我们进行字符串拼接时 就自动会调用 tostring 转成string Console.WriteLine(1234 1 true);