2013年3月18日月曜日

出力フォーマットを指定する

Perlで文字列を出力するには、printを使いますが、フォーマットを指定して出力するには、printfを使います。

%dは10進整数を表示し、%sは文字を表示します。


my $num=55.55;
printf "数値:%d 文字:%s\n", $num, $num;



%dは小数以下は切り捨てられます。結果は以下のようになります。


数値:55 文字:55.55





%gは、perlが小数、整数、浮動少数等、状況に応じて適宜判断してくれます。


printf "適宜当てはめた値:%g %g %g\n", 0.5, 0.0000000234567, 10;



結果は以下のようになります。


適宜当てはめた値:0.5 2.34567e-08 10





文字(%s)や整数(%d)等、%とdやs等の間に数字を指定することで桁数を指定できます。


my $num=55.55;
printf "数値:%6d 文字:%10s 適宜当てはめた値:%6g\n", $num, $num, $num;



結果は以下のようになります。


数値:    55 文字:     55.55 適宜当てはめた値: 55.55


上記は桁数を指定したので、黄色い部分にスペースが挿入されています。


更に、空白ではなく0で埋めたり、左寄せしたり、四捨五入もできます。パーセント自体を出力する時は、%%と2個連続させます。



my $num=55.55;
printf "0で埋める:%06d 左寄せ:%-6d 四捨五入または浮動少数:%4.0f %%\n", $num, $num, $num;




結果は以下のようになります。


0で埋める:000055 左寄せ:55     四捨五入または浮動少数:56 %









0 件のコメント:

コメントを投稿