ここでは、Java で数値をフォーマットして文字列に変換するサンプルコードを掲載しています。以下の3つの変換サンプルになります。
- 桁を揃えて文字列に変換
- 3桁ずつカンマをつけて金額フォーマットに変換
- 8進数を16進数文字列に変換
スポンサーリンク
数値の先頭または最後尾をゼロやスペースでパディング
// 先頭を0(ゼロ)で埋める 最小5文字になるようにパディング System.out.println(String.format("%05d", 1)); System.out.println(String.format("%05d", 123)); System.out.println(String.format("%05d", 123456)); // 先頭を空白(スペース)で埋める 最小4文字になるようにパディング System.out.println(String.format("%4d", 1)); System.out.println(String.format("%4d", 123)); System.out.println(String.format("%4d", 123456)); // 最後尾を空白(スペース)で埋める 最小4文字になるようにパディング System.out.print(String.format("%-4d", 1)); System.out.println("|"); System.out.print(String.format("%-4d", 123)); System.out.println("|"); System.out.print(String.format("%-4d", 123456)); System.out.println("|");
出力結果
00001
00123
123456
1
123
123456
1 |
123 |
123456|
数字3桁ごとにカンマで区切って文字列に変換
金額などを出力する際に使用しますが、3桁ごとにカンマで区切った文字列に変換するサンプルコードは以下の通りです。
// 数値を3桁ごとにカンマで区切って表示する System.out.println(String.format("%,d", 1)); System.out.println(String.format("%,d", 123)); System.out.println(String.format("%,d", 1234567890));
出力結果
1
123
1,234,567,890
N 進数の数値を8進数、16進数の文字列に変換
/* * n進数を16進数で表示 */ // 8進数を16進数で表示 System.out.println(String.format("0x%x", 010)); // 10進数を16進数で表示(アルファベット小文字) System.out.println(String.format("0x%x", 123)); // 10進数を16進数で表示(アルファベット大文字) System.out.println(String.format("0X%X", 123)); // 16進数を16進数で表示 System.out.println(String.format("0x%x", 0xee)); /* * n進数を8進数で表示 */ // 8進数を8進数で表示 System.out.println(String.format("0%o", 010)); // 10進数を8進数で表示 System.out.println(String.format("0%o", 123)); // 16進数を8進数で表示 System.out.println(String.format("0%o", 0xee));
出力結果
0x8
0x7b
0X7B
0xee
010
0173
0356