5部 関数リファレンス

sprintf

sprintf FORMAT,LIST



FORMATで指定されたとおりに整形してから文字列を返します。

sprintf( "出力内容(%フォーマット文字)" , $変数1,$変数2,...);

FORMATフィールド指定子を埋め込んだ文字列で、各フィールドは第2引数からの要素によって置き換えられます。

フィールド指定子は次のような形式になっています。

%m.nx

mnは省略可能です。ここでmnはサイズをあらわし、フィールドのタイプに応じて解釈されます。

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が使われます。フィールドの長さに
* を指定することはできません。

関連記事