C#中將字符串轉(zhuǎn)換為整型的三種解決方法總結(jié)

字號:


    在C#中,要將一個字符串或浮點數(shù)轉(zhuǎn)換為整數(shù),基本上有三種方法:
    (1)使用強(qiáng)制類型轉(zhuǎn)換:(int)浮點數(shù)
    (2)使用Convert.ToInt32(string)
    (3)使用int.Parse(string)或int.TryParse(string,out int)
    在實際使用時,當(dāng)要轉(zhuǎn)換的字符串或數(shù)字帶有小數(shù)時,發(fā)現(xiàn)它們有以下區(qū)別:
    (1)方法一:截斷 方法二:四舍五入
    int a=(int)2.8; //結(jié)果為2
    int b=Convert.ToInt32(2.8); //b的值為3
    (2)int.Parse方法的參數(shù)如果不能轉(zhuǎn)換為整數(shù),則報異常。
    如 int c=int.Parse("2.8"); //報異常,說明其參數(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)換的信息為一個字符而不是數(shù)字的時候又怎么樣呢?
    結(jié)果如下所示:
    int a = (int)'a'; //結(jié)果為97,注意是字符,而不是字符串(如果是字符串,編譯不能通過)
    int b = Convert.ToInt32("a"); //報異常
    int c=int.Parse("a"); //報異常
    int d = -1;
    int.TryParse("a", out d); //結(jié)果為0