在C#中将char转换为int我在c#中有一个char:char foo = '2';现在我想把2变成一个int。我发现Convert.ToInt32返回char的实际十进制值而不是数字2.以下将起作用:int bar = Convert.ToInt32(new string(foo, 1));int.parse也适用于字符串。C#中没有本地函数从char到int而不是字符串吗?我知道这是微不足道的,但似乎很奇怪,直接进行转换没有任何原生的东西。
3 回答
心有法竹
TA贡献1866条经验 获得超5个赞
这会将它转换为int:
char foo = '2';int bar = foo - '0';
这是有效的,因为每个字符在内部由数字表示。字符“0”到“9”由连续数字表示,因此找到字符“0”和“2”之间的差异会得到数字2。
慕姐4208626
TA贡献1852条经验 获得超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}
它更安全,更不容易出错
- 3 回答
- 0 关注
- 2951 浏览
添加回答
举报
0/150
提交
取消