String转int主要有四种方法
1. int.Parse()是一种类容转换;表示将数字内容的字符串转为int类型。
如果字符串为空,则抛出ArgumentNullException异常;
如果字符串内容不是数字,则抛出FormatException异常;
如果字符串内容所表示数字超出int类型可表示的范围,则抛出OverflowException异常;
2. Convert.ToInt32()是一种类容转换;但它不限于将字符串转为int类型,还可以是其它类型的参数;Convert.ToInt32 与 int.Parse 较为类似,实际上 Convert.ToInt32 内部调用了 int.Parse。
3. int.TryParse (String s,out int num.)与 int.Parse(string s)又较为类似,但它不会产生异常,最后一个参数为输出值,如果转换失败,输出值为 0,如果转换成功,输出值为转换后的int值。
4. (int) 属 cast 转换,当我们把int类型扩展到long,float,double,decimal类型,可以使用隐式转换,但是当我们从long类型到int类型就需 要使用显式转换,否则会产生编译错误。但我们只能将其它数字类型转换成 int 类型,它不能转换字符串,比如下例就会失败:
string v = "1";
int n = (int)v;
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication7 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 //String转int 14 15 //如果确定字符串中是可以转成数字的字符,可以用int.Parse(string s), 16 //该语句返回的是转换得到的int值; 17 string str1= "12"; 18 int num1 = 0; 19 num1 = int.Parse(str1); 20 Console.WriteLine(num1); 21 22 //如果不能确定字符串是否可以转成数字,可以用int.TryParse(string 23 // s, out int result),该语句返回的是bool值,指示转换操作是否成功, 24 //参数result是存放转换结果的变量。 25 string str2 = "14"; 26 int num2 = 0; 27 Console.WriteLine(int.TryParse(str2, out num2)); 28 Console.WriteLine(num2); 29 30 //使用Convert.ToInt32(string s)进行转换 31 string str3 = "12"; 32 int num3 = Convert.ToInt32(str3); 33 Console.WriteLine(num3); 34 } 35 } 36 } 37
当int.Parse()输入值为abc:
当int.TryParse()和Convert.ToInt32()输入值为abc:
时间: 2024-10-17 04:57:57