C#中將字符串轉(zhuǎn)換為整型的三種解決方法總結(jié)
更新時(shí)間:2013年06月25日 10:55:23 作者:
本篇文章是對(duì)C#中將字符串轉(zhuǎn)換為整型的三種解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
在C#中,要將一個(gè)字符串或浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù),基本上有三種方法:
(1)使用強(qiáng)制類(lèi)型轉(zhuǎn)換:(int)浮點(diǎn)數(shù)
(2)使用Convert.ToInt32(string)
(3)使用int.Parse(string)或int.TryParse(string,out int)
在實(shí)際使用時(shí),當(dāng)要轉(zhuǎn)換的字符串或數(shù)字帶有小數(shù)時(shí),發(fā)現(xiàn)它們有以下區(qū)別:
(1)方法一:截?cái)?nbsp; 方法二:四舍五入
int a=(int)2.8; //結(jié)果為2
int b=Convert.ToInt32(2.8); //b的值為3
(2)int.Parse方法的參數(shù)如果不能轉(zhuǎn)換為整數(shù),則報(bào)異常。
如 int c=int.Parse("2.8"); //報(bào)異常,說(shuō)明其參數(shù)必須是整數(shù)字符串
//int.TryParse
int c = -1;
int.TryParse("2.8", out c); //不能轉(zhuǎn)換成功,結(jié)果為0
int.TryParse("2", out c); //轉(zhuǎn)換成功,結(jié)果為2
那么,當(dāng)要轉(zhuǎn)換的信息為一個(gè)字符而不是數(shù)字的時(shí)候又怎么樣呢?
結(jié)果如下所示:
int a = (int)'a'; //結(jié)果為97,注意是字符,而不是字符串(如果是字符串,編譯不能通過(guò))
int b = Convert.ToInt32("a"); //報(bào)異常
int c=int.Parse("a"); //報(bào)異常
int d = -1;
int.TryParse("a", out d); //結(jié)果為0
(1)使用強(qiáng)制類(lèi)型轉(zhuǎn)換:(int)浮點(diǎn)數(shù)
(2)使用Convert.ToInt32(string)
(3)使用int.Parse(string)或int.TryParse(string,out int)
在實(shí)際使用時(shí),當(dāng)要轉(zhuǎn)換的字符串或數(shù)字帶有小數(shù)時(shí),發(fā)現(xiàn)它們有以下區(qū)別:
(1)方法一:截?cái)?nbsp; 方法二:四舍五入
int a=(int)2.8; //結(jié)果為2
int b=Convert.ToInt32(2.8); //b的值為3
(2)int.Parse方法的參數(shù)如果不能轉(zhuǎn)換為整數(shù),則報(bào)異常。
如 int c=int.Parse("2.8"); //報(bào)異常,說(shuō)明其參數(shù)必須是整數(shù)字符串
//int.TryParse
int c = -1;
int.TryParse("2.8", out c); //不能轉(zhuǎn)換成功,結(jié)果為0
int.TryParse("2", out c); //轉(zhuǎn)換成功,結(jié)果為2
那么,當(dāng)要轉(zhuǎn)換的信息為一個(gè)字符而不是數(shù)字的時(shí)候又怎么樣呢?
結(jié)果如下所示:
int a = (int)'a'; //結(jié)果為97,注意是字符,而不是字符串(如果是字符串,編譯不能通過(guò))
int b = Convert.ToInt32("a"); //報(bào)異常
int c=int.Parse("a"); //報(bào)異常
int d = -1;
int.TryParse("a", out d); //結(jié)果為0
相關(guān)文章
C#實(shí)現(xiàn)ComboBox控件顯示出多個(gè)數(shù)據(jù)源屬性的方法
這篇文章主要介紹了C#實(shí)現(xiàn)ComboBox控件顯示出多個(gè)數(shù)據(jù)源屬性的方法,實(shí)例分析了ComboBox控件的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09深入多線程之:內(nèi)存柵欄與volatile關(guān)鍵字的使用分析
本篇文章對(duì)內(nèi)存柵欄與volatile關(guān)鍵字的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05unity實(shí)現(xiàn)虛擬搖桿控制Virtual Joystick
這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)虛擬搖桿控制Virtual Joystick,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04C#制作多線程處理強(qiáng)化版網(wǎng)絡(luò)爬蟲(chóng)
這篇文章主要介紹了C#制作多線程處理強(qiáng)化版網(wǎng)絡(luò)爬蟲(chóng)的相關(guān)代碼,有想學(xué)習(xí)C#多線程編程的小伙伴可以參考下2016-09-09C#/.Net開(kāi)發(fā)chatGPT、openAI的簡(jiǎn)單步驟
OpenAI處于科技行業(yè)下一件大事件的最前沿,具有初創(chuàng)公司史詩(shī)般的標(biāo)志,下面這篇文章主要給大家介紹了關(guān)于C#/.Net開(kāi)發(fā)chatGPT和openAI的相關(guān)資料,需要的朋友可以參考下2023-02-02