javascript - 将数字转换为字母字符串 (Javascript)

标签 javascript data-conversion

我想将数字转换为字符,例如:

  • 如果数字 = 1 则 A
  • 如果数字 = 26 则 Z
  • 如果数字 = 27 则 AA
  • 如果数字 = 676 则 ZZ
  • 如果数字 = 456976 则 ZZZZ

试图找到任何可以帮助我的东西,但我没有任何运气。有人有使用 JavaScript 的示例吗?

谢谢!

最佳答案

您显示的数字转换似乎不一致。似乎您想将数字转换为等效的电子表格列字母,类似于这个 Python 问题:Convert spreadsheet number to column letter

将该代码转换为 javascript(并稍微清理一下)可以得到:

function numToSSColumn(num){
  var s = '', t;

  while (num > 0) {
    t = (num - 1) % 26;
    s = String.fromCharCode(65 + t) + s;
    num = (num - t)/26 | 0;
  }
  return s || undefined;
}


// A  Z AA  CZ  DA  YZ  ZZ AAA
[0,1,26,27,104,105,676,702,703,
//AAZ ABA  AZZ  BAA  BAZ  BBA   YYYZ   ZZZZ
  728,729,1378,1379,1404,1405,456976,475254].forEach(function(n) {
  console.log(n + ' : ' + numToSSColumn(n));
});

该函数不检查输入,如果是 n < 0 则返回 undefined

您的转换似乎不起作用,因为电子表格列不是从 0 开始,而是从 1 开始,所以 A-Z 是 1 到 26,AA 到 AZ 是 27 到 52,依此类推。 676 是 YZ,456976 是 YYYZ。 ZZZZ为475254(或11110 base26);

关于javascript - 将数字转换为字母字符串 (Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45787459/

相关文章:

将 CSV 转换为 XML 文件的 Java lib 或应用程序?

javascript - react Redux : Unable to Map array of Objects

javascript - 这些在 JavaScript 中向现有对象添加属性的方法有何不同(一种有效,一种无效)?

Android BindingConversion 多个参数

r - 将表示不同格式日期的字符串列转换为日期列

c++ - 使用stringstream 将string 转换为int 的效率如何?

javascript - 为什么我的 javascript 时钟不工作?

javascript - 使用 node.js 在生产模式下缩小脚本/CSS

javascript - Vue 变量值在请求后不更新

arrays - 将数组转换为 R 中的矩阵