在C#中,要將一個字符串或浮點數轉換為整數,基本上有三種方法:
(1)使用強制類型轉換:(int)浮點數
(2)使用Convert.ToInt32(string)
(3)使用int.Parse(string)或int.TryParse(string,out int)
在實際使用時,當要轉換的字符串或數字帶有小數時,發現它們有以下區別:
(1)方法一:截斷 方法二:四捨五入
int a=(int)2.8; //結果為2
int b=Convert.ToInt32(2.8); //b的值為3
(2)int.Parse方法的參數如果不能轉換為整數,則報異常。
如 int c=int.Parse("2.8"); //報異常,說明其參數必須是整數字符串
//int.TryParse
int c = -1;
int.TryParse("2.8", out c); //不能轉換成功,結果為0
int.TryParse("2", out c); //轉換成功,結果為2
那麼,當要轉換的信息為一個字符而不是數字的時候又怎麼樣呢?
結果如下所示:
int a = (int)'a'; //結果為97,注意是字符,而不是字符串(如果是字符串,編譯不能通過)
int b = Convert.ToInt32("a"); //報異常
int c=int.Parse("a"); //報異常
int d = -1;
int.TryParse("a", out d); //結果為0