将数字转换为字母

已加入
2014年11月27日
留言内容
15
编程经验
1-3
我想像这样将数字更改为字母
如果我输入号码"1". the result is "A"
当我输入号码时"5". the result is "E"
当我输入号码时"26". the result is "Z"
然后当我把数字"27". the result is "A1"
然后当我把数字"53". the result is "B1"

请回答这个。
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
规则是什么?您提供了一些示例,我们可以从中获取重要信息,但这仍然不能为我们提供一般情况。查看前三个示例,我可以看到,给定数字N介于1到26之间,您需要字母的第N个字母。在第四个示例中,我会说,对于大于26的N,您可以将N除以26,然后像前三个示例中一样使用余数,然后将商用作后缀,但是第五个示例很麻烦那个理论从水中消失了。如果您希望能够编写代码来执行类似的操作,则必须遵循一组清晰的规则才能获得所需的答案。如果您尚未这样做,则可能无法编写代码。
 
已加入
2014年11月27日
留言内容
15
编程经验
1-3
angka1 = Convert.ToInt32(dataGridView1.Columns.Count);
if (angka1 > 26)
{
int pembantuhasil;
hasil2 = angka1%26;
pembantuhasil = Angka1 / 26;
#region hasil1
如果(pembantuhasil == 1)
{
hasil1 = "A";
}
如果(pembantuhasil == 2)
{
hasil1 = "B";
}
如果(pembantuhasil == 3)
{
hasil1 = "C";
}
如果(pembantuhasil == 4)
{
hasil1 = "D";
}
如果(pembantuhasil == 5)
{
hasil1 = "E";
}
如果(pembantuhasil == 6)
{
hasil1 = "F";
}
如果(pembantuhasil == 7)
{
hasil1 = "G";
}
如果(pembantuhasil == 8)
{
hasil1 = "H";
}
如果(pembantuhasil == 9)
{
hasil1 = "I";
}
如果(pembantuhasil == 10)
{
hasil1 = "J";
}
如果(pembantuhasil == 11)
{
hasil1 = "K";
}
如果(pembantuhasil == 12)
{
hasil1 = "L";
}
如果(pembantuhasil == 13)
{
hasil1 = "M";
}
如果(pembantuhasil == 14)
{
hasil1 = "N";
}
如果(pembantuhasil == 15)
{
hasil1 = "O";
}
如果(pembantuhasil == 16)
{
hasil1 = "P";
}
如果(pembantuhasil == 17)
{
hasil1 = "Q";
}
如果(pembantuhasil == 18)
{
hasil1 = "R";
}
如果(pembantuhasil == 19)
{
hasil1 = "S";
}
如果(pembantuhasil == 20)
{
hasil1 = "T";
}
如果(pembantuhasil == 21)
{
hasil1 = "U";
}
如果(pembantuhasil == 22)
{
hasil1 = "V";
}
如果(pembantuhasil == 23)
{
hasil1 = "W";
}
如果(pembantuhasil == 24)
{
hasil1 = "X";
}
如果(pembantuhasil == 25)
{
hasil1 = "Y";
}
如果(pembantuhasil == 26)
{
hasil1 = "Z";
}
#endregion
textBox1.Text = hasil1.ToString()+ hasil2.ToString();
}
else
{
#region hasil1
if (angka1 == 1)
{
hasil1 = "A";
}
if (angka1 == 2)
{
hasil1 = "B";
}
if (angka1 == 3)
{
hasil1 = "C";
}
if (angka1 == 4)
{
hasil1 = "D";
}
if (angka1 == 5)
{
hasil1 = "E";
}
if (angka1 == 6)
{
hasil1 = "F";
}
if (angka1 == 7)
{
hasil1 = "G";
}
if (angka1 == 8)
{
hasil1 = "H";
}
if (angka1 == 9)
{
hasil1 = "I";
}
if (angka1 == 10)
{
hasil1 = "J";
}
if (angka1 == 11)
{
hasil1 = "K";
}
if (angka1 == 12)
{
hasil1 = "L";
}
if (angka1 == 13)
{
hasil1 = "M";
}
if (angka1 == 14)
{
hasil1 = "N";
}
if (angka1 == 15)
{
hasil1 = "O";
}
if (angka1 == 16)
{
hasil1 = "P";
}
if (angka1 == 17)
{
hasil1 = "Q";
}
if (angka1 == 18)
{
hasil1 = "R";
}
if (angka1 == 19)
{
hasil1 = "S";
}
if (angka1 == 20)
{
hasil1 = "T";
}
if (angka1 == 21)
{
hasil1 = "U";
}
if (angka1 == 22)
{
hasil1 = "V";
}
if (angka1 == 23)
{
hasil1 = "W";
}
if (angka1 == 24)
{
hasil1 = "X";
}
if (angka1 == 25)
{
hasil1 = "Y";
}
if (angka1 == 26)
{
hasil1 = "Z";
}
#endregion
textBox1.Text = hasil1.ToString();
}

解决了
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,566
地点
悉尼,澳大利亚
编程经验
10+
恐怕这不是很棒的代码。如果您不想对所需内容提供适当的解释,我想您可以使用它。考虑一下:
var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

hasil1 = alphabet[angka1 - 1].ToString();
比26个if语句更简洁,是吗?
 
最佳 底部