sprintf関数

広告

「sprintf」関数は指定した値を別途指定した書式指定文字によって変換し、作成された文字列を返します。

書式指定文字列で指定した方法に従って値を変換し、作成された新しい文字列を
返します。

パラメータ:
  FORMAT  書式指定文字列
  LIST  変換される値のリスト
戻り値:
  変換後の文字列

1番目の引数には値をどのように変換するのかを表す書式指定文字列を指定します。2番目の引数には変換される値を記述します。複数の値を指定する場合はカンマ(,)で区切って続けて記述します。

書式指定文字列の記述方法などの詳細な解説は「値の書式指定」を参照して下さい。

具体的には次のように記述します。

my $str = sprintf("[%#5o]", 30);

この場合、変数「$str」に「[  036]」と言う文字列が格納されます。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test8-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $str = sprintf("[%#5o]", 30);
print "変換結果:$str¥n";

my $shortstr = sprintf("%.3s", "September");
print "変換結果:$shortstr¥n";

上記を「test8-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

sprintf関数

( Written by Tatsuo Ikura )