1
整数型の数値を左の埋め込みゼロの任意の基数にフォーマットする標準的な方法がJavaにあるのだろうかと思います。 など。基数32の場合、4文字の長さに詰め、30の場合は "000t"のような文字列を取得したい、300の場合は "008z"(tと8zは必ずしもベース-32の表記は30と300ですが、これは単なる例です)。任意の基数のパッド付きフォーマット
整数型の数値を左の埋め込みゼロの任意の基数にフォーマットする標準的な方法がJavaにあるのだろうかと思います。 など。基数32の場合、4文字の長さに詰め、30の場合は "000t"のような文字列を取得したい、300の場合は "008z"(tと8zは必ずしもベース-32の表記は30と300ですが、これは単なる例です)。任意の基数のパッド付きフォーマット
整数を必要な基数の文字列に変換し、文字列フォーマッタを使用して出力文字列を埋め込みます。文字列フォーマッタは空白で埋められますので、0に変換する必要があります。この場合30
:toString
へ
int num = 300;
String numString = Integer.toString(num, 30);
String padded = String.format("%1$#4s", numString).replace(' ', '0'); // "00ao"
2番目の引数が基数です:
は、ここでの例です。
String.format
の最初の引数は、フォーマット文字列で、これはhereから取得しました。あなたが最も気にかけているのは、文字列の中にある4
です。文字列に入れたい文字の総数です。
1つの追加:toStringが受け入れる最大基数は36です。 –
提案:フォーマット文字列から#を削除するか、[痛みの世界に入る](https://issues.apache.org/jira/browse/ SSHD-104) – dribnet