C# Convert類解決問題方法
你有一個包含二進制數、八進制數、十進制數或十六進制數的字符串。你需要把它轉換為等價的數值并用十進制表示出來。
C# Convert類解決方法:
要把一個其他進制的數轉換為十進制數,只要用C# Convert類的被重載的靜態方法Convert.ToInt32即可:
- string base2 = "11";
- string base8 = "17";
- string base10 = "110";
- string base16 = "11FF";
- Console.WriteLine("Convert.ToInt32(base2, 2) = " +
- Convert.ToInt32(base2, 2));
- Console.WriteLine("Convert.ToInt32(base8, 8) = " +
- Convert.ToInt32(base8, 8));
- Console.WriteLine("Convert.ToInt32(base10, 10) = " +
- Convert.ToInt32(base10, 10));
- Console.WriteLine("Convert.ToInt32(base16, 16) = " +
- Convert.ToInt32(base16, 16));
代碼產生這樣的輸出結果:
- Convert.ToInt32(base2, 2) = 3
- Convert.ToInt32(base8, 8) = 15
- Convert.ToInt32(base10, 10) = 110
- Convert.ToInt32(base16, 16) = 4607
討論:
靜態方法Convert.ToInt32有兩個參數,一個包含數字的字符串和一個表示該數字進制的整數。接著這個函數就會把這個數字字符串轉換為十進制整數了。
C# Convert類的其他靜態函數,比如ToByte,ToInt64和ToInt16,也有類似的重載,即接受一個字符串類型的數字和一個表示該數字進制的整數。不過這些方法只能轉換那些二進制、八進制、十進制或十六進制的數。它們只能把這些數轉換為十進制的數。但是,任何類型的數值的ToString都可以轉換成 string類型。
【編輯推薦】