为什么等于'8'的整数等于56是C sharp?我想将它转换为整数8而不是任何其他数字。
答案 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的建议也很好。