Сначала вы должны преобразовать свой номер в формат внутреннего числа Java (который на самом деле основывается на 2, но здесь это не имеет значения), например на Integer.parseInt()
(если ваш номер меньше целого числа чем 2 ^ 31). Затем вы можете преобразовать его из int
в желаемый формат вывода. Метод Integer.toString(i, 36)
делает это, используя 0123456789abcdefghijklmnopqrstuvwxyz
в качестве цифр (десятичные цифры 0-9 и строчные английские буквы в алфавитном порядке). Если вам нужны другие цифры, вы можете либо преобразовать результат, заменив «цифры» (например, toUpperCase
), либо выполнить преобразование самостоятельно - это не волшебство, это просто цикл взятия остатка по модулю 36 и деления на 36 (с поиском правой цифры).
Если ваш номер длиннее, чем тот, который предлагает int, вы можете использовать long
(с Long
) или BigInteger
вместо них, у них есть аналогичные радиокс-конвертеры.
Если ваше число имеет «цифры после точки», это немного сложнее, так как большинство (конечных) чисел base-X не точно представлены в виде (конечных) чисел base-Y, если (степень) Y не кратен X.