什么是一个转换的正确方法char来int?这给出了49:int val = Convert.ToInt32('1');//int val = Int32.Parse("1"); // Works我不想转换为字符串然后解析它。
3 回答
哔哔one
TA贡献1854条经验 获得超8个赞
我很惊讶没有人提到内置于System.Char... 的静态方法
int val = (int)Char.GetNumericValue('8');
// val == 8
Qyouu
TA贡献1786条经验 获得超11个赞
怎么样(对char c)
int i = (int)(c - '0');
减去char值是什么?
是API问题(评论),还是扩展方法?
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贡献1811条经验 获得超4个赞
每个人都忘记的是解释为什么会这样。
一个Char,基本上是一个整数,但是在ASCII表中有一个指针。所有字符都有一个对应的整数值,您在尝试解析它时可以清楚地看到。
Pranay显然具有不同的字符集,这就是为什么HIS代码不起作用的原因。唯一的方法是
int val = '1' - '0';
因为这会在表格中查找整数值,'0'然后从中减去基数格式的数字作为“基值”即可得到原始数字。
- 3 回答
- 0 关注
- 1519 浏览
添加回答
举报
0/150
提交
取消