sprintf FORMAT,LIST
FORMAT
で指定されたとおりに整形してから文字列を返します。
sprintf( "出力内容(%フォーマット文字)" , $変数1,$変数2,...);
FORMAT
はフィールド指定子を埋め込んだ文字列で、各フィールドは第2引数からの要素によって置き換えられます。
フィールド指定子は次のような形式になっています。
%m.nx
m
とn
は省略可能です。ここでm
とn
はサイズをあらわし、フィールドのタイプに応じて解釈されます。
sprintfの使い方
$num = 5;
print sprintf( "%02d", $num );
> 05
文字 | 説明 |
---|---|
%c | 文字 -Character |
%d | 10進数 -Deximal |
%e | 浮動少数(指数形式) -Exponential |
%E | 浮動少数(大文字のEを使った指数形式) |
%f | 浮動小数(固定小数点形式) -Floating |
%g | 浮動小数(浮動少数または指数形式のうち、少ないスペースで表現できる方) |
%G | %g の指数表示をEにしたもの |
%ld | 倍精度10進数 -Long |
%lo | 倍精度8進数 |
%lu | 倍精度符号なし10進数 |
%lx | 倍精度16進数 |
%n | すでに出力した文字数を次の変数に格納 |
%o | 8進数 -Octal |
%p | ポインタ (16進数での値のアドレス) |
%s | 文字列 -String |
%u | 符号なし10進数 -Unsigned |
%x | 符号なし16進数 -heXadecimal |
%X | %x と同じだが大文字を使う |
修飾子
文字 | 説明 |
---|---|
-(%-nd) | 左寄せで表示。n は文字列の長さ |
# | 8進の整数は0で始まり、16進の整数は0xで始まるように表示 |
(%nd) | 数値変数の10進展開
「n」は文字列の長さ。文字数が足りない場合はスペースで埋める。 |
(%n.mf) | 小数点付き数値の10進展開
n は文字列の長さ、m は少数点以下の桁数を指定。 |
+(%+d) | 符号付き10進展開
符号+または-をつけて表示 |
0(%0nd) | 文字数が足りない場合は0で埋める
n は文字列の長さ。 |
m
は、通常、フィールドの最小長(負なら左寄せ)です。n
は指数表示の場合には精度、文字列の場合には最大長、整数の場合には最小限表示する桁数を表します。フィールド内の空白を埋めるのに、通常は、文字列ではスペース、数値では0が使われます。フィールドの長さに
* を指定することはできません。