数値や文字列を printf 文 や sprintf 関数 で書き出すときの書式を指定することができる。
書式は,文字「%」,必要なら修飾子,書式制御文字,の 3 要素で表す。
c | ASCII 文字として表示する。 例:printf "%c", 65 は,文字 A を出力する。 |
---|---|
d | 整数値として表示する。 |
i | d と同様,整数値として表示する。 |
e | 科学表記法により表示する。 例:printf "%4.3e", 1996 は,1.996e+3 (すなわち,1.996 × 10 の 3 乗)を表示する。 |
f | 浮動小数点表記法により表示する。 例:printf "%6.3f", 3.25 は,3.250 を表示する。 |
g | 科学表記法または浮動小数点表記法のいずれか適切な方法により表示する。 |
o | 符号なし 8 進整数値として表示する。 |
s | 文字列として表示する。 |
x | 符号なし 16 進整数値として表示する。10〜15 は a〜f で表す。 |
X | 符号なし 16 進整数値として表示する。10〜15は A〜F で表す。 |
%% | % 一文字を表示する。 |
- | 幅修飾子の前に付けることにより,左詰めで表示するように指示する。 |
---|---|
幅修飾子 | 表示するためにとる桁数を整数値で指定する。 |
.精度修飾子 | ピリオドに続く整数値で指定する。数値を表示するときには小数点以下の桁数を意味し, 文字列を表示するときには何文字表示するかを表す。 |
* | 幅修飾子,精度修飾子を printf の引数から取ることを表す。 例:w=5; p=3; a = 1.345 のとき,printf "%*.*f", w, p, a は printf "%5.3f", a と同じである。 |