任意基数填充格式

时间:2011-10-19 15:43:05

标签: java string-formatting

我想知道在Java中是否有一种标准方法可以将整数格式化为具有左填充零的任意基数。 例如。对于radix-32,填充到4个字符长度,如果我有一个数字30,我想得到一个像“000t”的字符串或如果我有300我应该得到“008z”(t和8z不一定对应于base -32表示30和300,这只是一个例子。

1 个答案:

答案 0 :(得分:1)

将整数转换为您需要的基数中的字符串,然后使用字符串格式化程序填充输出字符串。字符串格式化程序将填充空格,然后您需要将其转换为零。

以下是一个例子:

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

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

toString的第二个参数是基数:30在这种情况下。

String.format的第一个参数是格式字符串,我从here获取。您最关心的值是字符串中间的4:这是字符串中您想要的字符总数。