将数字转换为字母

xpe*_*arx 1 javascript numbers alphabetical

我想将一个数字转换为相应的字母.例如:

1 = A
2 = B
3 = C
Run Code Online (Sandbox Code Playgroud)

这可以在javascript中完成而无需手动创建数组吗?在php中有一个range()函数可以自动创建数组.在javascript中有类似的东西吗?

max*_*max 18

您可以简单地做到这一点,而无需使用String.fromCharCode(code)函数的数组,因为字母具有连续的代码。例如:String.fromCharCode(1+64)给你'A',String.fromCharCode(2+64)给你'B',等等。

  • 我这样使用它:`String.fromCharCode(1 + 'A'.charCodeAt(0))` (2认同)

Nin*_*olz 13

是的,有Number#toString(36)和调整.

var value = 10;

document.write((value + 9).toString(36).toUpperCase());
Run Code Online (Sandbox Code Playgroud)

  • @Fr0zenFyr,那么您会得到错误的结果。您需要事先检查并制定在这种情况下应该发生什么的规则。 (2认同)

esa*_*tos 11

下面的代码片段将字母表中的字符转换为数字系统

1 = A
2 = B
...
26 = Z
27 = AA
28 = AB
...
78 = BZ
79 = CA
80 = CB

var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var result = ""
function printToLetter(number){
    var charIndex = number % alphabet.length
    var quotient = number/alphabet.length
    if(charIndex-1 == -1){
        charIndex = alphabet.length
        quotient--;
    }
    result =  alphabet.charAt(charIndex-1) + result;
    if(quotient>=1){
        printToLetter(parseInt(quotient));
    }else{
        console.log(result)
        result = ""
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建了这个函数来在打印时保存字符,但不得不废弃它,因为我不想处理最终可能形成的不正确的单词


Léo*_*gli 7

只需将 letterIndex 从 0 (A) 增加到 25 (Z)

const letterIndex = 0
const letter = String.fromCharCode(letterIndex + 'A'.charCodeAt(0))

console.log(letter)
Run Code Online (Sandbox Code Playgroud)