C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识

2021-08-08 13:56

阅读:1930

标签:取整   学习   font   部分   collect   []   联系   ble   表达式   自己也是刚学习C#程序设计语言,总结了一点知识点,想分享给大家。毕竟刚学习这门语言,学得不深,哪里如果有错误,请帮个忙指出一下哈,谢谢! 1、(int)可用于单精度、双精度等其他数值类型的转换(到整型int),不能用于转换string类型,例如:   这里用(int)转换string是不可以的,系统会报错,程序是不能运行。 using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { string myString="520"; int myint; myint = (int)myString; Console.WriteLine(myint); } } }   下面例子是转换单精度类型float,这是可以的 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { int x; float y=1.2f; x = (int)y; Console.WriteLine(x); Console.ReadKey(); } } }   使用(int):Double或Float被转换成int类型,小数部分不进行四舍五入,结果是取整的 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { //double转换为int,使用Convert.ToInt32() double myInt=1.6; string myString = "123.45"; //string myString="abcd"; //string myString = "12345"; int intResult; string stringResult; intResult = (int)myInt; Console.WriteLine(intResult); Console.Read(); } } }   2、Convert.ToInt32() 可以转换字符串类型,但是字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。也可转换值类型,如Double和Float。   字符串为"123.45",系统会报错: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { int myInt; string myString = "123.45"; //string myString="abcd"; //string myString = "12345"; int intResult; string stringResult; intResult = Convert.ToInt32(myString); Console.WriteLine(intResult); Console.Read(); } } }   使用Convert.ToInt32():double或float被转换为int,小数部分可以是四舍五入的。规则是:整数位如果是:0-4:直接舍掉小数位。若数值为5.6,规则是:整数位如果为5,要返回临近偶数()结果是6  整数位为6-9是,都要进位。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { //double转换为int,使用Convert.ToInt32() double myInt=1.6; string myString = "123.45"; //string myString="abcd"; //string myString = "12345"; int intResult; string stringResult; intResult =Convert.ToInt32(myInt); Console.WriteLine(intResult); Console.Read(); } } }//输出结果为2 3、int.Parse()在只能转换string类型,不能是其他,例如double到int这些数值类型是不可以的。另外,在转换string时,和Convert.ToInt32() 同,字符串里的内容必须是"123456"这种,即:里面是整型数值类型的。不能是"123.456"(可认为里面是小数的)或者"abcdef"。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { int myInt; //string myString = "123.45"; //string myString="abcd"; string myString = "12345"; int intResult; string stringResult; intResult = int.Parse(myString); Console.WriteLine(intResult); Console.Read(); } } }   double-->int不行 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { //double转换为int,使用Convert.ToInt32() double myInt=1.6; string myString = "123.45"; //string myString="abcd"; //string myString = "12345"; int intResult; string stringResult; intResult = int.Parse(myInt); Console.WriteLine(intResult); Console.Read(); } } } 4、Conver.ToInt32()可以将string=null转换为0,而(int)、int.Parse()不能对空字符串进行转换,实例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { String myString = null; String resultString; int myInt; // myInt = (int)myString;//不能转换null myInt = Convert.ToInt32(myString);//将null转换为0 // myInt = int.Parse(myString);//不能转换null Console.WriteLine(myInt); Console.Read(); } } } 5、int类型转换为string 类型,使用强制类型转换符,可用Convert.ToString()去转换   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { //强制括号转换只能转换数值类型的 int myInt = 3; string stringResult; stringResult=(string)myInt; Console.Read(); } } }   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 表达式 { class Program { static void Main(string[] args) { //强制括号转换只能转换数值类型的 int myInt = 333; string stringResult; //stringResult = Convert.ToString(myInt); stringResult = myInt.ToString(); Console.WriteLine(stringResult); Console.Read(); } } }  文章系属个人原创,请尊重原创,转载请注明出处!  文章难免会有错误,还望各位多多海涵,另外希望技术专家们多多指出不足之处,兄弟得以改进!C#中(int)、Conver.Toint32()、int.Parse()三种类型转换方式的区别与联系--C#基础知识标签:取整   学习   font   部分   collect   []   联系   ble   表达式   原文地址:http://www.cnblogs.com/qikeyishu/p/7497581.html


评论


亲,登录后才可以留言!