C#將字符串轉換為整型的三種方法的總結


  在C#中,要將一個字符串或浮點數轉換為整數,基本上有三種方法:

   (1)使用強制類型轉換:(int)浮點數 

   (2)使用Convert.ToInt32(string)

   (3)使用int.Parse(string)或int.TryParse(string,out int)

 

在實際使用時,當要轉換的字符串或數字帶有小數時,發現它們有以下區別:


// int a1 = (int)aa; //錯誤,無法將string轉換為int
int a2 = (int)2.83; //正確,將Double類型轉換為int,結果為2
int b1 = (int)'a'; //結果為97,注意是字符,而不是字符串(如果是字符串,編譯不能通過)
decimal a = 2.83M;
int b4 = (int)a; //正確,將decimal類型轉換為int,結果為2

int a3 = Convert.ToInt32("2"); // 正確,結果為2
int b6 = Convert.ToInt32(2.8); //b的值為3,(四舍五入)
int a5 = int.Parse("2"); // 正確,結果為2
//int a3 = Convert.ToInt32("2.83"); // 報異常,說明其參數必須是整數字符串
//int a4 = int.Parse("2.83"); // 報異常,說明其參數必須是整數字符串
//int b3 = int.Parse("a"); //報異常
//int b2 = Convert.ToInt32("a"); //報異常

int c = -1;
int.TryParse("2.83", out c); //不能轉換成功,結果為0
int.TryParse("2", out c); //轉換成功,結果為2
int.TryParse("a", out c); //結果為0

//將字符串轉換為int方法
decimal resMin1 = 0;
string strValue = "3.00000";
// Decimal m = (decimal)strValue; //錯誤,無法將string轉換為decimal
Decimal.TryParse(strValue, out resMin1); //正確,resMin1為3
int cnt = Convert.ToInt32(resMin1); //正確cnt為3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM