• 締切済み

スペースパディングのやり方を教えてください。

http://www.php.net/manual/ja/function.sprintf.php などを参考にして数値型の整形をしようと思います。 1005という数値を7桁にしたい場合 "__1,005" (先頭スペースは2つアンダーバーで表示) という感じで頭にスペースパディングを入れて 3桁ごとにカンマをつけたいのです。 まずはスペースを入れようと思い sprintf("%4d",1005); sprintf("%' 4d",1005); と試してみましたがスペースがひとつしか入りません。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=905463 なども参考にしましたがなかなかうまくいきません。 よい方法があれば宜しくお願いいたします。

みんなの回答

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

7桁なら sprintf("% 7d",1005); ではないでしょうか

VIPFIRE
質問者

補足

ご指摘のとおりです。申し訳ありません。 実際には7でも試しております。 ありがとうございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

<?php $num=1005; print str_pad(number_format($num), 7 , "_", STR_PAD_LEFT); ?>

VIPFIRE
質問者

補足

お返事ありがとうございます。 説明が下手で伝わらなかったようで申し訳ありません。 "__1,005" (先頭スペースは2つアンダーバーで表示)とありますが_はスペースでやりたいのです。 _やほかの文字を指定するとうまくいくのですが スペースだと2つ以上は1つとなってしまうのです。 ブラウザならば$nbspとすればいけそうですが pxdocを使用した帳票なので $nbspはきかないようです。 よろしければまた教えてください。

関連するQ&A