目录
2.当我们进行字符串拼接时,就自动会调用 tostring 转成string
主要用于数值之间,低精度转高精度,如byte转为int。
- 作用:一般情况下 将高精度的类型强制转换为低精度
- 语法:变量类型 变量名=(变量类型)变量;
- 注意:精度问题 范围问题
- short sb = 1;
- short s = 1;
- int i = 1;
- long l = 1;
-
- s = (short)i;
- Console.WriteLine(s);
-
- i = (int)1;
- sb = (sbyte)s;
- sb = (sbyte)i;
- sb = (sbyte)l;
- byte b = 1;
- uint ui = 1;
- b = (byte)ui;
- float f = 1.1f;
- double d = 1.1234567890123456789f;
-
- f = (float)d;
- Console.WriteLine(f);
- uint ui2 = 1;
- int i2 = 1;
- //在强转时 一定要注意范围 不然得到的结构 可能有异常
- ui2 = (uint)i2;
- Console.WriteLine(ui2);
- i2 = (int)ui2;
- //浮点数强转成整型时 会直接抛弃掉小数点后面的小数
- i2 = (int)1.24f;
- Console.WriteLine(i2);
- i2 = 'A';
- char c = (char)i2;
- Console.WriteLine(c);
- //bool bo = true;
- //int i3 = (bool)bo;
-
- //string str="123";
- //i3=(int)str;
:所有和数值有关的都支持低精度的去存储高精度的(用括号强转的方式)
主要用来把字符串转为数值。
- 作用:把字符串转换为对应的类型
- 语法:变量类型.Parse("字符串)
- 注意:字符串必须能够转换成对应类型(合法合规)否则报错
- int i4 = int.Parse("123");
- Console.WriteLine(i4);
-
- //我们填写字符串 必须是要能够转换成对应类型的字符串,如果不合规范,报错
- //i4 = int.Parse("123.45");//
- //值得范围 必须是能够倍变量存储的值 否则报错
- //short s3 = short.Parse("40000");
- //console.writeLine(s3);
- //无符号
- Console.WriteLine(byte.Parse("1"));
- Console.WriteLine(ushort.Parse("1"));
- Console.WriteLine(ulong.Parse("1"));
- Console.WriteLine(uint.Parse("1"));
- //浮点型
- float f3 = float.Parse("1.2323");
- double d3 = double.Parse("1.2323");
- //bool和char类型转化为string类型
- bool b5 = bool.Parse("true");
- Console.WriteLine(b5);
- char c2 = char.Parse("A");
- Console.WriteLine(c2);
:Parse法用来将string字符串类型转换为对应的类型,要注意的是:我们填写的字符串类型必须是合法合规的,不然会报错
更全面的转换方式,精度更高,可以把各种类型的数据转为各种类型
- 作用 更具体的将 各个类型之间相互转换
- 语法:Convert.To目标类型(变量或常量)
- 注意:填写的变量或常量必须正确 否则出错
如果是把字符串转成对应类型 那字符串一定要合法合规
- int a = Convert.ToInt32("12");
- Console.WriteLine(a);
- // 精度比括号强转好一点,会四舍五入
- a = Convert.ToInt32(1.65845f);
- Console.WriteLine(a);//2
- //把bool类型也可以转成 数值类型 true对应1 false对应0
- a = Convert.ToInt32(true);
- Console.WriteLine(a);
- a = Convert.ToInt32(false);
- Console.WriteLine(a);
-
- a = Convert.ToInt32('A');
- Console.WriteLine(a)
- //每一个类型都存在对应的 Convert中的方法
- sbyte sb5 = Convert.ToSByte("1");
- short s5 = Convert.ToInt16("1");
- int i5 = Convert.ToInt32("1");
- long l5 = Convert.ToInt64("1");
-
-
- byte b6 = Convert.ToByte("1");
- ushort us5 = Convert.ToUInt16("1");
- uint ui5 = Convert.ToUInt32("1");
- ulong ul5 = Convert.ToUInt64("1");
-
- float f5 = Convert.ToSingle("13.2");
- double d5 = Convert.ToDouble("13.2");
- decimal de5 = Convert.ToDecimal("13.2");
-
- bool bo5 = Convert.ToBoolean("true");
- char c5 = Convert.ToChar("A");
-
- string str5 = Convert.ToString(123123);
-
- Console.WriteLine(sb5);
- Console.WriteLine(i5);
- Console.WriteLine(l5);
- Console.WriteLine(b6);
- Console.WriteLine(us5);
- Console.WriteLine(ui5);
- Console.WriteLine(ul5);
- Console.WriteLine(f5);
- Console.WriteLine(d5);
- Console.WriteLine(de5);
- Console.WriteLine(bo5);
- Console.WriteLine(c5);
- Console.WriteLine(str5);
可以把所有其他类型的数据通过.string方式转换为string类型
- 作用:拼接打印
- 语法:变量.tostring();
- string str6 = 1.ToString();
- Console.WriteLine(str6);
- str6 = true.ToString();
- Console.WriteLine(str6);
- str6 = 'A'.ToString();
- Console.WriteLine(str6);
- str6 = 1.2f.ToString();
- Console.WriteLine(str6);
-
-
- int aa = 1;
- str6 = aa.ToString();
- Console.WriteLine(aa);
- bool bo6 = true;
- str6 = bo6.ToString();
- Console.WriteLine(bo6);
- Console.WriteLine("123123" + 1 + true);
-
- str6 = "123123" + 1 + true + 1.23;