为了账号安全,请及时绑定邮箱和手机立即绑定

怎么把char转换成int?

怎么把char转换成int?

MYYA 2019-10-18 14:01:33
什么是一个转换的正确方法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


查看完整回答
反对 回复 2019-10-18
?
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();


查看完整回答
反对 回复 2019-10-18
?
波斯汪

TA贡献1811条经验 获得超4个赞

每个人都忘记的是解释为什么会这样。


一个Char,基本上是一个整数,但是在ASCII表中有一个指针。所有字符都有一个对应的整数值,您在尝试解析它时可以清楚地看到。


Pranay显然具有不同的字符集,这就是为什么HIS代码不起作用的原因。唯一的方法是


int val = '1' - '0';

因为这会在表格中查找整数值,'0'然后从中减去基数格式的数字作为“基值”即可得到原始数字。


查看完整回答
反对 回复 2019-10-18
  • 3 回答
  • 0 关注
  • 1519 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信