JUST FOR FUN

Twitter:@okwra Facebook:ayato.ookawara GitHub:@tearon4 other:@taiga006

sprintf関数で自由自在に数字や文字列のフォーマットを指定する

1234 -> 001234 みたいな数字のゼロ埋め作業をPerlで楽にやる方法。

下記のように書くと便利です。

my $hoge = 1234;
my $fuga = sprintf("%06d", $hoge);
print $fuga;
# -> 001234

sprintf関数は指定した書式で文字列を作成することが出来ます。

応用して小数点の丸め込み(四捨五入)にも使えます。

my $hoge = 12.343;
my $fuga = sprintf("%.2f", $hoge);
print $fuga;
# -> 12.35

0をなくせばspace埋めも可能です。

$fuga = sprintf("%-6s", 1234);
# -> '1234  '
$fuga = sprintf("%6s", 1234);
# -> '  1234'

浮動小数点数や16進数との返還などもsprintf関数でたやすくできます。

d.hatena.ne.jp

d.hatena.ne.jp