将字母表中的字母位置转换为C#中的数字

时间:2016-09-05 12:45:07

标签: c# count alphabet

我需要将字母转换为数字。 A为01,B为02 ...... Z为26。

我的伪代码:

variable = 'C'

if (variable = 'A'){
counter = 01}else if (variable = 'B'){
counter = 02}else if (variable = 'C'){
counter = 03
}elseif...

肯定有另一种方法可以做到这一点。

5 个答案:

答案 0 :(得分:6)

尝试:

var x = 'A' - 'A' + 1 //01
var x = 'Z' - 'A' + 1 //26

答案 1 :(得分:2)

如果这些字母都是大写的ASCII字母,您可以轻松地这样做:

int ascii = (int)Char.GetNumericValue(variable);
if(ascii >= 65 && ascii <= 90)
{
    counter = ascii - 64;
}
else if //...

答案 2 :(得分:2)

每个角色都有自己的ascii代码,例如“A”从65开始,所以基本上你可以从每个角色中减去64,然后你得到你的号码。 “A” - 64 = 1 “B” - 64 = 2 ......

答案 3 :(得分:2)

Log.d("Test","" + data.toString());
 Log.d("Access Token is: ","" + data.getQueryParameter("access_token"));

这将简单地将ASCII字符转换为其对应的int并将其下拉为1。

因为&#39; A&#39; ASCII中为65或0x41,减去64./0x40时将产生1。如果你想要&#39; A&#39;减去0x40为0。

答案 4 :(得分:1)

private String Number2String(int number, bool isCaps)
{
    Char c = (Char)((isCaps ? 65 : 97) + (number - 1));
    return c.ToString();
}