[ Java ] 数値をフォーマットして文字列に変換する ( String.format )

Pocket

ここでは、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
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *