簡體   English   中英

使用Java的Integer.toString()將Base 26作為字母

[英]Base 26 as alphabetic using Java's Integer.toString()

所以我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演示

沒有; 這種方法有效實施的方式保證從0-9開始,然后進入af,然后進行基數超過16。

如果您想以自己的方式執行此操作,則需要自己執行偏移。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM