我需要将字母转换为数字。 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...
肯定有另一种方法可以做到这一点。
答案 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();
}