将数字转换为26个字符以外的字母 [英] Convert numbers to letters beyond the 26 character alphabet

查看:87
本文介绍了将数字转换为26个字符以外的字母的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在为可映射的电子表格导出功能创建一些客户端功能。

I'm creating some client side functions for a mappable spreadsheet export feature.

我正在使用jQuery来管理列的排序顺序,但是每列按照Excel电子表格订购,即abcd e ...... xyz aa ab ac ad等等。

I'm using jQuery to manage the sort order of the columns, but each column is ordered like an Excel spreadsheet i.e. a b c d e......x y z aa ab ac ad etc etc

如何生成一个数字作为字母?我应该定义一个固定的值数组吗?或者有一种动态的方式来生成这个吗?

How can I generate a number as a letter? Should I define a fixed array of values? Or is there a dynamic way to generate this?

推荐答案

我认为你正在寻找类似这样的东西

I think you're looking for something like this

    function colName(n) {
        var ordA = 'a'.charCodeAt(0);
        var ordZ = 'z'.charCodeAt(0);
        var len = ordZ - ordA + 1;
      
        var s = "";
        while(n >= 0) {
            s = String.fromCharCode(n % len + ordA) + s;
            n = Math.floor(n / len) - 1;
        }
        return s;
    }

// Example:

    for(n = 0; n < 125; n++)
            document.write(n + ":" + colName(n) + "<br>");

这篇关于将数字转换为26个字符以外的字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆