特定の桁数だけ整数の左にゼロで埋める方法を紹介します。
たとえば、次のように数字を10桁の数字で表しますが、数字の左側に足りないスペースはゼロで埋める方法です。
1234 -> 0000001234
1. String.format() を使った方法
String.format(format, num)
関数は、引数として渡された format に合わせて数値を文字列に変換します。
以下の例では、「%06d」は整数を6桁に出力します。 そして「%010d」は10桁で出力し、空のスペースは0でいっぱいになるという意味です。
public class Example {
public static void main(String[] args) {
int num = 1234;
String str = String.format("%06d", num);
System.out.println(str);
str = String.format("%010d", num);
System.out.println(str);
}
}
Output:
001234
0000001234
2. DecimalFormatを使った方法
new DecimalFormat("000000")
のようにオブジェクトを初期化し、 format(num)
を呼び出すと 6 桁で整数を文字列に変換し、空のスペースは 0 でいっぱいに戻ります。
import java.text.DecimalFormat;
public class Example1 {
public static void main(String[] args) {
int num = 1234;
DecimalFormat df = new DecimalFormat("000000");
String str = df.format(num);
System.out.println(str);
df = new DecimalFormat("0000000000");
str = df.format(num);
System.out.println(str);
}
}
Output:
001234
0000001234
3. System.out.printf() を使った方法
String.format()
のように printf()
で特定の形式で整数を文字列に変換できます。
printf()
の場合、文字列を返さずにコンソールに直接出力します。改行しないので、別に追加するか、 println()
を呼び出してください。
public class Example2 {
public static void main(String[] args) {
int num = 1234;
System.out.printf("%06d", num);
System.out.println();
System.out.printf("%010d", num);
}
}
Output:
001234
0000001234
Related Posts
- Java - BufferedReaderでファイルを読む
- Java - BufferedWriterでファイルを書き込む
- Java - BigIntegerの範囲、比較、演算、キャスト
- Java charAt()関数を学ぶ
- Java contains()で文字(大文字と小文字のX)を含める
- Java - Set(HashSet)を配列に変換する
- Java - 文字列の最初の文字、最後の文字を確認する
- Java - 文字列を1文字ずつ切り捨てる
- Java - 文字列の単語数を取得する
- Java - 1秒ごとに繰り返し実行
- Java - 配列をSet(HashSet)に変換する
- Java - 複数のSet(HashSet)を組み合わせる
- Java - コマンドライン引数の入力を受け取る
- Java - リスト逆順に巡回、3つの方法
- Java - 特定の条件でリストをフィルタリングする3つの方法
- Java - HashMapすべての要素の合計、平均計算
- Java - 特定の条件でHashMapをフィルタリングする
- Java - シングルトンパターンの実装
- Java - 数字の左側にゼロを埋める
- Java - String配列の初期化方法
- Java - ソートされた順序で Map(HashMap) 巡回