Произвольный формат дополнения radix - PullRequest
1 голос
/ 19 октября 2011

Интересно, есть ли в Java стандартный способ отформатировать целое число в произвольное основание с нулями с левым отступом? Например. для radix-32, дополненный до 4 символов длиной, если у меня есть число 30, я хотел бы получить строку типа «000t» или если у меня есть 300, я должен получить «008z» (t и 8z не обязательно соответствуют базе -32 обозначения 30 и 300, это всего лишь пример).

1 Ответ

1 голос
/ 19 октября 2011

Преобразуйте целое число в нужную вам строку в основание, затем используйте форматировщик строки для дополнения выходной строки.Форматировщик строки будет заполняться пробелами, которые затем необходимо преобразовать в нули.

Вот пример:

int num = 300;
String numString = Integer.toString(num, 30);

String padded = String.format("%1$#4s", numString).replace(' ', '0'); // "00ao"

Второй аргумент toString - это основание: 30в данном случае.

Первый аргумент String.format - это строка формата, которую я взял из здесь .Больше всего вас интересует значение 4 в середине строки: это общее количество символов, которое вы хотите получить в строке.

...