Convert将int转换为字母值

时间:2019-05-30 18:45:19

标签: c# char int

我想将1-26之间的int转换为相应的字母char字母

我看到我可以在某个地方使用char outPut = (char)currentValue;Convert.ToChar(currentValue的地方,但是两者似乎都不起作用。我正在通过让程序将字符打印到控制台进行测试。两次尝试都导致打印一个空字符

我正在编写一个程序,它接收一个char字母,将其转换为int以对其进行一些数学运算,然后将最终的int转换回{{1 }}字母并将char打印到控制台

3 个答案:

答案 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)

intchar可以使用ASCII表来回转换

A的ASCII值为65。因此,您可以通过执行

获得char A
char a = (char) 65;

使用1-26表示将其转换回

int num = a - 65 + 1;

您需要进行一些边界检查,以确保数字在正常范围内。