java - 使用 Java 的 Integer.toString() 以 26 为基数作为字母

标签 java tostring base-conversion

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

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

我已经知道如何手动转换为 Base-26,我不需要那个代码。但我想知道是否有办法利用 Integer.toString(),因为它几乎已经完成了所有繁重的工作。

有什么想法吗?

最佳答案

您可以迭代 char[] 以将输出从 Integer.toString 移动到您想要的范围内。

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

关于java - 使用 Java 的 Integer.toString() 以 26 为基数作为字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733231/

相关文章:

java - 减少 Windows 时间后,Swing 忽略第一次单击

javascript - 如何从八 (8) 个 4 位整数创建 32 位整数?

php - base_convert 和负数

java - Docker 错误 : Could not find or load Main class Main. 主要

java - Java中的内存分配/释放

javascript - 如何在javascript中将整数数组转换为十六进制字符串,反之亦然

java - 简单的if语句问题

java - 通过覆盖 toString() 能够仅打印 ArrayList 中的部分对象

c - 以 N 为基数的除法

java - 使用 Spring Boot 和 Thymeleaf 时出现 "Circular view path would dispatch back to the current handler URL."