分享
三行代码  ›  专栏  ›  技术社区  ›  Learn for Fun

将数字改为相应的字母

  •  0
  • Learn for Fun  · 技术社区  · 5 天前

    我的问题是如何从一个数字中得到相应的字母。

    所以

    0    =>   0    // 0 stays 0
    1    =>   A
    2    =>   B
    3    =>   C
    26   =>   Z
    27   =>   AA
    28   =>   AB
    55   =>   AC
    702  =>   ZZ
    

    号码会 一定地 不超过702。

    有什么方法可以让我做这个吗?

    2 回复  |  直到 5 天前
        1
  •  2
  •   FZs    5 天前

    通过对 26 String.fromCharCode 要将其转换为字符:

    function numToExcelColumnName(n){
      if(!n) return 0
    
      n-- //Make 0 => A
    
      const lower = n % 26
      const upper = Math.floor(n / 26)
      
      return (
        upper 
          ? String.fromCharCode(65 + upper - 1) 
          : ''
      ) 
      + String.fromCharCode(65 + lower)
    }
    
        2
  •  0
  •   Akshat2249    5 天前

    像A,B。。。你可以通过

    num = ord(x)-65

    num = ord(str[0]-65)*26+(str[1]-65) 其中str=xy,其中x和y是对应的字符