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: