繁体   English   中英

将int转换为字母值

[英]Convert convert int to alphabetical value

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

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

我正在制作一个程序,该程序接受一个char字母,将其转换为int对其进行一些数学运算,然后将最终的int转换回char字母,并将char打印到控制台

char outPut = (char)currentValue;

会为您提供一个代表某些空格字符的字符(因为这些字符表示为最多32个整数)。

您真正想要的是一个代表字母的字符 以下代码将为您提供小写字母的第i个字母:

char c = (char)((int)'a' + i - 1);

或大写:

char c = (char)((int)'A' + i - 1);

它使用字母由连续整数表示的事实。

您可以使用所需的字符进行偏移。 在这种情况下,我使用'a'

Console.WriteLine((char)(5 + 'a'));

由于您的范围以1开头,因此您需要使用'a'-1

可以使用ASCII表来回转换intchar

A ASCII值为65。因此,您可以通过执行以下操作获得char A

char a = (char) 65;

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

int num = a - 65 + 1;

您将需要进行一些边界检查,以确保该数字当然在范围内。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM