3 回答

TA貢獻(xiàn)1854條經(jīng)驗(yàn) 獲得超8個(gè)贊
我很驚訝沒(méi)有人提到內(nèi)置于System.Char... 的靜態(tài)方法
int val = (int)Char.GetNumericValue('8');
// val == 8

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超11個(gè)贊
怎么樣(對(duì)char c)
int i = (int)(c - '0');
減去char值是什么?
是API問(wèn)題(評(píng)論),還是擴(kuò)展方法?
public static class CharExtensions {
public static int ParseInt32(this char value) {
int i = (int)(value - '0');
if (i < 0 || i > 9) throw new ArgumentOutOfRangeException("value");
return i;
}
}
然后使用 int x = c.ParseInt32();

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個(gè)贊
每個(gè)人都忘記的是解釋為什么會(huì)這樣。
一個(gè)Char,基本上是一個(gè)整數(shù),但是在ASCII表中有一個(gè)指針。所有字符都有一個(gè)對(duì)應(yīng)的整數(shù)值,您在嘗試解析它時(shí)可以清楚地看到。
Pranay顯然具有不同的字符集,這就是為什么HIS代碼不起作用的原因。唯一的方法是
int val = '1' - '0';
因?yàn)檫@會(huì)在表格中查找整數(shù)值,'0'然后從中減去基數(shù)格式的數(shù)字作為“基值”即可得到原始數(shù)字。
- 3 回答
- 0 關(guān)注
- 1559 瀏覽
添加回答
舉報(bào)