将Char变量转换为整数

时间:2011-02-27 23:31:40

标签: c#

为什么等于'8'的整数等于56是C sharp?我想将它转换为整数8而不是任何其他数字。

3 个答案:

答案 0 :(得分:5)

您需要从'0'中减去偏移量。

int zero = (int)'0'; // 48
int eight = (int)'8'; // 56
int value = eight - zero; // 8

答案 1 :(得分:3)

56是字符8使用的(EDIT)Unicode值:

Int32.Parse(myChar.ToString());

编辑:

或者这个:

        char myChar = '8';
        Convert.ToInt32(myChar);

答案 2 :(得分:0)

在C#/ .Net中转换unicode字符的正确方法是使用相应的Char方法IsDigit和GetNumericValue(http://msdn.microsoft.com/en-us/library/e7k33ktz.aspx)。

如果您完全确定输入中没有非ASCII数字,那么ChaosPandion的建议也很好。