我在c#中有一个char:
char foo = '2';
现在我想把2变成一个整型。我发现皈依。ToInt32返回该字符的实际十进制值,而不是数字2。以下是可行的方法:
int bar = Convert.ToInt32(new string(foo, 1));
int。解析也只适用于字符串。
c#中没有本地函数可以在不使其成为字符串的情况下从char转换为int吗?我知道这是微不足道的,但这似乎很奇怪,没有本地直接进行转换。
我在c#中有一个char:
char foo = '2';
现在我想把2变成一个整型。我发现皈依。ToInt32返回该字符的实际十进制值,而不是数字2。以下是可行的方法:
int bar = Convert.ToInt32(new string(foo, 1));
int。解析也只适用于字符串。
c#中没有本地函数可以在不使其成为字符串的情况下从char转换为int吗?我知道这是微不足道的,但这似乎很奇怪,没有本地直接进行转换。
当前回答
这招对我很管用:
int bar = int.Parse("" + foo);
其他回答
真正的方法是:
int theNameOfYourInt = (int).Char.GetNumericValue(theNameOfYourChar);
" namameofyourint " -你想要你的char被转换成的int。
" namameofyourchar " -你想要使用的Char,因此它将被转换为int型。
其他的都不要管。
这将转换为整数并处理unicode
CharUnicodeInfo.GetDecimalDigitValue('2')
你可以在这里阅读更多。
使用Uri.FromHex。 为了避免异常Uri.IsHexDigit。
char testChar = 'e';
int result = Uri.IsHexDigit(testChar)
? Uri.FromHex(testChar)
: -1;
char c = '1';
int i = (int)(c - '0');
你可以用它创建一个静态方法:
static int ToInt(this char c)
{
return (int)(c - '0');
}
我见过很多答案,但我觉得很困惑。我们不能简单地使用类型转换吗?
例:-
int s;
char i= '2';
s = (int) i;