我在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吗?我知道这是微不足道的,但这似乎很奇怪,没有本地直接进行转换。
当前回答
有一个非常简单的方法可以将字符0-9转换为整数: c#像对待整数一样对待char值。
Char c = '7';(ascii码55)int x = c - 48;(result = integer of 7)
其他回答
有人考虑过像这样使用int.Parse()和int.TryParse()吗
int bar = int.Parse(foo.ToString());
这样更好
int bar;
if (!int.TryParse(foo.ToString(), out bar))
{
//Do something to correct the problem
}
这样更安全,更不容易出错
这招对我很管用:
int bar = int.Parse("" + foo);
有趣的答案,但医生说的不一样:
使用GetNumericValue方法 转换表示的Char对象 数值类型的数字。使用 和TryParse来转换 字符串中的字符转换为Char类型 对象。使用ToString转换Char类型 object转换为String对象。
http://msdn.microsoft.com/en-us/library/system.char.aspx
首先将字符转换为字符串,然后转换为整数。
var character = '1';
var integerValue = int.Parse(character.ToString());
默认情况下使用UNICODE,所以我建议使用faulty的方法
int bar = int. parse (foo.ToString());
尽管下面的数值对于数字和基本拉丁字符是相同的。