从特定输入递增字母表
Incrementing alphabet from a specific input
我是 JavaScript 的新手。这是我的任务
我想生成一个以 'A' 开头且数字递增的序列号。
示例:A000001、A000002、...、A000010 等等。
我想根据我作为输入提供的当年生成此序列号。
例子 :
如果当前年份是 2020 年,则 A000001、A000002、...、A000010 等等
如果当前年份是 2021 年,则 B000001、B000002、...、B000010 等等
如果当前年份是 2046,那么它应该像 AA000001, AA000002,...,AA000010 等等。因为有26个字母,所以应该从AA开始。 2047 - AB、2048 - AC 等也是如此。
function colName(n) {
var ordA = 'A'.charCodeAt(0);
var ordZ = 'Z'.charCodeAt(0);
var len = ordZ - ordA + 1;
var year = 2020;
var s = "";
while(n >= 0) {
s = String.fromCharCode(n % len + ordA) + s;
n = Math.floor(n / len) - 1;
}
return s;
}
这里我有一个代码可以按照 A,B,C,....Z,AA 的方式生成字母表。但是当我调用函数colName(n)时,'n'的值应该是从0开始给的,从'A'开始。我想给出我当年的价值。如果我给 n 值 2020,那么它应该显示 'A'.
我被困在这里,不知道如何执行此操作以及如何添加递增数字。 Here I am giving an image of my concept
谢谢。
您需要在 2020 年之前减去 n,使其成为起点(将其视为偏移量)。
另外 2027 将是 H 而不是 AA,因为 2020=A,从那里开始的 26 个字符将是 Z。
function colName(n) {
var ordA = 'A'.charCodeAt(0);
var ordZ = 'Z'.charCodeAt(0);
var len = ordZ - ordA + 1;
n -= 2020;
var s = "";
while(n >= 0) {
s = String.fromCharCode(n % len + ordA) + s;
n = Math.floor(n / len) - 1;
}
return s;
}
document.write(colName(2020));
我是 JavaScript 的新手。这是我的任务
我想生成一个以 'A' 开头且数字递增的序列号。 示例:A000001、A000002、...、A000010 等等。 我想根据我作为输入提供的当年生成此序列号。 例子 : 如果当前年份是 2020 年,则 A000001、A000002、...、A000010 等等 如果当前年份是 2021 年,则 B000001、B000002、...、B000010 等等 如果当前年份是 2046,那么它应该像 AA000001, AA000002,...,AA000010 等等。因为有26个字母,所以应该从AA开始。 2047 - AB、2048 - AC 等也是如此。
function colName(n) {
var ordA = 'A'.charCodeAt(0);
var ordZ = 'Z'.charCodeAt(0);
var len = ordZ - ordA + 1;
var year = 2020;
var s = "";
while(n >= 0) {
s = String.fromCharCode(n % len + ordA) + s;
n = Math.floor(n / len) - 1;
}
return s;
}
这里我有一个代码可以按照 A,B,C,....Z,AA 的方式生成字母表。但是当我调用函数colName(n)时,'n'的值应该是从0开始给的,从'A'开始。我想给出我当年的价值。如果我给 n 值 2020,那么它应该显示 'A'.
我被困在这里,不知道如何执行此操作以及如何添加递增数字。 Here I am giving an image of my concept
谢谢。
您需要在 2020 年之前减去 n,使其成为起点(将其视为偏移量)。 另外 2027 将是 H 而不是 AA,因为 2020=A,从那里开始的 26 个字符将是 Z。
function colName(n) {
var ordA = 'A'.charCodeAt(0);
var ordZ = 'Z'.charCodeAt(0);
var len = ordZ - ordA + 1;
n -= 2020;
var s = "";
while(n >= 0) {
s = String.fromCharCode(n % len + ordA) + s;
n = Math.floor(n / len) - 1;
}
return s;
}
document.write(colName(2020));