首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Java的Integer.toString()将26作为字母

使用Java的Integer.toString()将26作为字母
EN

Stack Overflow用户
提问于 2017-01-19 11:32:13
回答 2查看 3K关注 0票数 9

所以我刚刚学习了Integer.toString(int x, int radix);,我觉得它非常棒,因为它使得基本转换变得非常容易。

但是,我正在尝试使用Base-26拼音(a - z)编写,注意到Integer.toString()遵循十六进制的示例,因为它以数字开头,然后使用字母(0 - p)。

我已经知道如何手动转换为Base-26,我不需要这些代码。但我想知道是否有一种方法可以利用Integer.toString(),因为它几乎已经完成了所有繁重的任务。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-19 11:58:58

您可以遍历char[],将Integer.toString的输出转换到您想要的范围内。

代码语言:javascript
复制
public static String toAlphabeticRadix(int num) {
    char[] str = Integer.toString(num, 26).toCharArray();
    for (int i = 0; i < str.length; i++) {
        str[i] += str[i] > '9' ? 10 : 49;
    }
    return new String(str);
}

Ideone Demo

票数 7
EN

Stack Overflow用户

发布于 2017-01-19 11:40:48

不是;the way that this method is implemented有效地保证了它从0-9开始,然后从a-f开始,如果基数超过16,则继续。

如果您想以自己的方式完成此操作,则需要自己执行偏移量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41733231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档