在C#中將char轉(zhuǎn)換為int我在c#中有一個char:char foo = '2';現(xiàn)在我想把2變成一個int。我發(fā)現(xiàn)Convert.ToInt32返回char的實際十進(jìn)制值而不是數(shù)字2.以下將起作用:int bar = Convert.ToInt32(new string(foo, 1));int.parse也適用于字符串。C#中沒有本地函數(shù)從char到int而不是字符串嗎?我知道這是微不足道的,但似乎很奇怪,直接進(jìn)行轉(zhuǎn)換沒有任何原生的東西。
3 回答

心有法竹
TA貢獻(xiàn)1866條經(jīng)驗 獲得超5個贊
這會將它轉(zhuǎn)換為int:
char foo = '2';int bar = foo - '0';
這是有效的,因為每個字符在內(nèi)部由數(shù)字表示。字符“0”到“9”由連續(xù)數(shù)字表示,因此找到字符“0”和“2”之間的差異會得到數(shù)字2。

慕姐4208626
TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊
有沒有人考慮使用int.Parse()
和int.TryParse()
喜歡這個
int bar = int.Parse(foo.ToString());
甚至更好
int bar;if (!int.TryParse(foo.ToString(), out bar)){ //Do something to correct the problem}
它更安全,更不容易出錯
- 3 回答
- 0 關(guān)注
- 2979 瀏覽
添加回答
舉報
0/150
提交
取消