我想将1-26之间的int
转换为相应的字母char
字母
我看到我可以在某个地方使用char outPut = (char)currentValue;
或Convert.ToChar(currentValue
的地方,但是两者似乎都不起作用。我正在通过让程序将字符打印到控制台进行测试。两次尝试都导致打印一个空字符
我正在编写一个程序,它接收一个char
字母,将其转换为int
以对其进行一些数学运算,然后将最终的int
转换回{{1 }}字母并将char
打印到控制台
答案 0 :(得分:2)
add
将为您提供一个表示某些空白字符的字符(因为这些字符表示为最多32个整数。)
您真正想要的是一个表示字母的字符。以下代码将为您提供小写字母的第i个字母:
char outPut = (char)currentValue;
或大写:
char c = (char)((int)'a' + i - 1);
它使用字母由连续整数表示的事实。
答案 1 :(得分:1)
您可以偏移所需的字符。在这种情况下,我使用'a'
。
Console.WriteLine((char)(5 + 'a'));
由于范围以1
开头,因此您需要使用'a'-1
。
答案 2 :(得分:0)
int
和char
可以使用ASCII表来回转换
A
的ASCII值为65。因此,您可以通过执行
A
。
char a = (char) 65;
使用1-26表示将其转换回
int num = a - 65 + 1;
您需要进行一些边界检查,以确保数字在正常范围内。