sprintf で右側に 0 を補完するのは・・・

さて、Perl の sprintf で、文字列の右側に 0 を補完するのはどうすればええんじゃろうねえ?

例えば、

$d    = '112200225';

して、この値を sprintf で編集すると、

$d      = sprintf("%020d", $d);

なら、00000000000112200225 となっちゃうんだけど、実際は、後ろに 0 を補完して、11220022500000000000 としたいのよ。

試しに sprintf("%-020d", $d) ってやってみたけど、これじゃあ何も補完されないだけだった。

後ろにスペースを埋めるというやり方はあるので、先にスペースを埋めてからそれを正規表現で 0 に変換しちゃえばいいんだが、こういうやり方しかないんかいのお?

$d    = '112200225';
$d    = sprintf("%-20s", $d);
$d    =~ s/\s/0/g;
print "$d\n";

とすれば、出力結果は 11220022500000000000 だ。
これをね、sprintf 一発でやりたいんだけどなあ。

識者の方、ぜひご教示ください。

トラックバック(0)

このブログ記事を参照しているブログ一覧: sprintf で右側に 0 を補完するのは・・・

このブログ記事に対するトラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/833

コメントする

このブログ記事について

このページは、shinodaが2009年10月23日 08:40に書いたブログ記事です。

ひとつ前のブログ記事は「スロージョギングをしてみた」です。

次のブログ記事は「ドラマのチェックで半日潰れ・・・」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら