%d、%o、%x、および %X フォーマット文字はすべて、byte、Byte、short、Short、int、Integer、long、Long 型のデータをフォーマットできます。その中には次のようなものがあります。
%d は、値を 10 進整数としてフォーマットします。
%o は、値を 8 進整数としてフォーマットします。
%x は、値を小文字の 16 進整数としてフォーマットします。
%X は、値を大文字の 16 進整数としてフォーマットします。
例えば:
Strings=String.format(%d,%o,%x,%X,300,300,300,300);
この場合、文字列 s は 300,454,12c,12C になります。
正の整数をフォーマットする場合は、必ず正の符号を追加してください。たとえば、%+d は 123 を +123 としてフォーマットします。
整数をフォーマットする場合は、次のように「千」ごとにグループ化します。
Strings=String.format(千単位でグループ化:%,d。正符号を付けて千単位でグループ化 %+,d,12345678,9876);
次に、文字列 s が千単位でグループ化されます: 12,345,678。プラス記号 +9,876 を付けて千単位でグループ化します。
いわゆるデータ幅は、 format メソッドによって返される文字列の長さです。データ幅を指定する一般的な形式は%mdで、 %-mdの場合は数値の左側にスペースが追加されます。その効果は、数値の右側にスペースを追加することです。
たとえば、数値 10 を幅 8 の文字列にフォーマットするには、次のようにします。
Strings=String.format(%8d,10);
この場合、文字列 s は 10 で、その長さ (s.length()) は 8 になります。つまり、s は 10 の左側に 6 個のスペース文字を追加します。
Strings=String.format(%-8d,10);
この場合、文字列 s は 10 で、その長さ (s.length()) は 8 になります。つまり、s は 10 の右側に 6 個の空白文字を追加します。
注: 実際の数値の幅がフォーマットで指定された幅より大きい場合、数値は実際の幅に従ってフォーマットされます。
幅の前にプレフィックス 0 を追加して、幅の左側の残りの部分がスペースなしの数字 0 で埋められることを示すこともできます。たとえば、次のようになります。
Strings=String.format(%08d,12);
この場合、文字列 s は 00000012 で、その長さ (s.length()) は 8 です。つまり、s は 12 の左に 6 桁の 0 を追加します。