怎么把char转换成int?

什么是一个转换的正确方法char来int?这给出了49:


int val = Convert.ToInt32('1');

//int val = Int32.Parse("1"); // Works

我不想转换为字符串然后解析它。


MYYA
浏览 1520回答 3
3回答

哔哔one

我很惊讶没有人提到内置于System.Char... 的静态方法int val = (int)Char.GetNumericValue('8');// val == 8

Qyouu

怎么样(对char c)int i = (int)(c - '0');减去char值是什么?是API问题(评论),还是扩展方法?public static class CharExtensions {&nbsp; &nbsp; public static int ParseInt32(this char value) {&nbsp; &nbsp; &nbsp; &nbsp; int i = (int)(value - '0');&nbsp; &nbsp; &nbsp; &nbsp; if (i < 0 || i > 9) throw new ArgumentOutOfRangeException("value");&nbsp; &nbsp; &nbsp; &nbsp; return i;&nbsp; &nbsp; }}然后使用 int x = c.ParseInt32();

波斯汪

每个人都忘记的是解释为什么会这样。一个Char,基本上是一个整数,但是在ASCII表中有一个指针。所有字符都有一个对应的整数值,您在尝试解析它时可以清楚地看到。Pranay显然具有不同的字符集,这就是为什么HIS代码不起作用的原因。唯一的方法是int val = '1' - '0';因为这会在表格中查找整数值,'0'然后从中减去基数格式的数字作为“基值”即可得到原始数字。
打开App,查看更多内容
随时随地看视频慕课网APP