【java】文字の表示ずれを揃えるformatメソッドについて

スポンサーリンク

文字列を綺麗に揃えたい時は

表示する値によって、文字列長が違っていると、表示する位置がずれてしまい、
見栄えとしてあまり良くないケースがあります。


そんな時に、文字列を整形し綺麗に端正し、表示させるための【format(静的)メソッド】が存在します。

formatメソッドの使い方


formatメソッド

第1引数:書式指定文字列

第2引数以降:整形したい文字列


ex.)

【コード(一部切り出し)】

String s = String.format("%10s %s %9.3f" , "田中太郎", "会社員", 560.888);

書式指定文字列とは


「書式を指定するための文字列」

そう言っても、これだけでは意味が不明であるので、詳細な説明を行う。


書式指定文字列とは、出力する文字列そのものを表すものではなく、
「出力される文字列をどのように整形して表すのかを指定する文字列」である。


例えば、

  • 3桁ごとにカンマを入れる
  • 左寄せを行う
  • 桁数指定

なんて操作ができる。



要素としては、
【% 修飾 桁 型】

というものがあり、

%はプレースホルダ(place holder)というもの

簡単に言うと「書式指定文字列をここから書きますよー」という合図になる。

修飾(省略可能)

【,(カンマ)】
→3桁ごとにカンマを入れる

【0(ゼロ)】
→空き領域を0埋めする

【-(ハイフン)】
→左寄せ(型が数字の場合のみ使用可能)

桁(省略可能)

表示桁数を指定するもの。

%10
と記載すれば10桁で出力される。


n.m形式で記載をすると、
全体でn桁
小数点以下でm桁
という指定をすることができる。

その際に型をf(小数)で指定することに注意すること。
(dの整数だと落ちます)

型(必須)

文字列の型を指定します。

d→整数
s→文字列
f→小数
b→真偽値




という内容になっている。


出力したい形式に適うように書式指定文字列を指定してあげればいいですよ。という話です。