• ベストアンサー

前ゼロ補填

お世話になります。 有効桁が1~3桁の数字があります。 桁を最大の3桁に揃えて表示したいので、 前にゼロを付けたいのです。 例   3 → 003    12 → 012   234 → 234(そのまま) 宜しくお願いします。

  • Perl
  • 回答数1
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

http://www.rfs.jp/sb/perl/05/sprintf.html $a=sprintf("%03d",3); print $a,"\n";

nagahaha
質問者

お礼

早速有り難うございました。 出来ました、3桁に揃いました。 perl講座勉強します。 やはり分かっていないと探すのも出来ないのですね。 お世話になりました。

関連するQ&A

  • 前スペース補填

    お世話になります。 いろいろ編集パタン等勉強しているつもりですが、 分かりませんで、またここに来てしまいました。 ちょっと前に『前ゼロ』を教えていただきました。 今度は『前スペース』をやりたいのですが、 悩んでいます。 そもそも「printf」と「sprintf」との区別も付きません。 調べた結果では、7桁で前スペースにするには、 $kmk = sprintf("%7d",$kmk); でよいのかなと思います。 そして、$kmkが"123"なら”bbbb123”(bはスペース)となると思うのですが、 画面に表示されたのを見ると、単純に”123”となってしまいます。 以下に実際を表示しましたので、宜しくお願いします。 まず、やっていることは、 cgiで、有効桁だけでセットされているファイルを読み、 画面にリストします。 その際、前スペースにより各項目の位置を揃えたいというモノです。 【ファイル(@kariire)の中身】 47213<>1<>20080503<>3000<>50000<> 38221<>5<>20080508<>25000<>100000<> 18994<>1<>20080506<>2700<>385000<> 【cgiの中身】 foreach $line (@kariire) { local($kmk1,$kmk2,$kmk3,$kmk4,$kmk5) = split(/<>/,$line); $kmk1 = sprintf("%5d",$kmk1); #氏名コード $kmk2 = sprintf("%1d",$kmk2); #借入事由 $kmk3 = sprintf("%8d",$kmk3); #異動日 $kmk4 = sprintf("%6d",$kmk4); #借入額 $kmk5 = sprintf("%7d",$kmk5); #限度額残 &output; } sub output { print <<"STOPP"; $kmk1,$kmk2,$kmk3,$kmk4,$kmk5 <br> STOPP } 以上です、宜しくお願いします。

    • ベストアンサー
    • Perl
  • 001,002,003の通称

     こんにちは。  数字の表示形式の呼び方を教えてください。  数字の前に0をつけて桁をそろえるという行為は、よくあると思います。  この桁をあわせた数字の表示形式の呼びかたって、何かあるのでしょうか。 例 1->001 99->099 384->384  この、右側のように整形した数字の呼び方を知りたいのです。  「桁あわせ数字」とかって勝手に呼んでいたのですが、正しいものがあれば、教えてください。

  • Excel2000で、こんなこと。

    セルに数字を入力した時、1桁なら そのまま表示して、2桁以上だったら、数字と数字の間を、それぞれ「・」で区切りたいのですけど、そういうふうにできる方法があったら教えてください~ 【 例 】 入力     表示     「1」  ⇒ 「1」     「12」  ⇒ 「1・2」     「123」 ⇒ 「1・2・3」

  • 0001~0099という文字列から、最大値を検索する方法はありますか。

    お世話になります。 エクセルで質問です。 便宜上、A1の列に4桁で、数字以外は0でうめている文字列があります。 例】1ならば0001という風に・・ その中から、最大のものを探したいと思っているのですが、 文字列ではMAXは使えないのでしょうか? また、そのような場合の最大値の検索方法はほかにあるでしょうか? よろしくお願いいたします。

  • 任意の桁数を表示するには?

    配列の中に格納されている桁に応じて表示のしかたを変えたいのです。 最大で3桁の数字が入っていたら、3桁表示に、 最大で5桁の数字が入っていたら、5桁表示に、 つまり int a[]={1,100,1,1}; の時は printf("%3.d "); と表示し、 int a[]={1,100,1,10000}; の時は printf("%5.d "); と表示するように、桁数に応じて%x.dのxの部分を変更したいんです。 どうしたらいいでしょうか。

  • エクセルについて教えてください

    エクセル最大3桁ある数字から一の位の数字を表示させる ような関数はありますか? その次にその1のくらに足りない数字を補って10にしたいのですが 方法ありますか 例・11→だと9 12→だと8 53→だと7 90→だと0 110→だと0 という風に表示させたいのですが・・・・ 質問がへたくそで分かりにくいとは思いますが だれか心当たりがある方は教えていただきたいです 宜しくお願い致します ちなみにこれはJANコードの計算に使いたい計算です

  • エクセルで数字を入力した時、数字の前に一定の文字を表示させたい

     エクセル2000です。たとえば、一つのセルに    123456 と六桁の数字を入力しただけで、数字の前に SAと表示され  SA123456 となるようにしたいのです。数字は六桁で、数値は変わっていきますが、数字の前のSAという文字は、変わらず一定にしたいのです。どのような、数式にしたら良いでしょうか?

  • EXCEL:3桁以上の数字の下1桁について0又は5にする方法

    こんにちは。EXCELでの事務処理に困っております。 3桁以上の数字を入力し(例:253)、その数字の下一桁に対し0~4は0に、5~9は5にして、全体を表示させる方法を教えてください。(例:253の場合、下1桁は3ですので、3は0~4の間にあるので、表示としては250になります) よろしくお願いします。

  • エクセルの条件つき書式を別のセルに適用させる

    お世話になっております。m(_ _)m エクセルに「条件つき書式」という機能があります。 これは、「設定をしたセルの書式」を制御するものですが、条件の指定に使うセルと書式を設定したいセルが別の場合は、どのようにすればよいのでしょうか?可能なのでしょうか? やりたいことは、A1のセルに入っているデータが8桁なら書式を「00000000(ゼロ8個)」とし、9桁なら「000000000(ゼロ9個)」というようにしたいのです。 このような設定をしなければならない理由は、このセルに入るデータは桁数が8桁か9桁で、数字か文字か決まっていないデータが入ります。 例)00123445   E0123456   012345678   Z12345678 等 「E0123456」や「Z12345678」が入る場合は文字列としてデータが扱われてもかまわないのですが、「00123445」や「012345678」は「数値」として扱いたいのです。 「00123445」の場合、数値としてこの数字を表示したければ書式を「00000000(ゼロ8個)」とすればよいと思います。 しかし、このセルには9桁の「012345678」というデータが入る可能性があります。このデータも数字として扱いたいので「000000000(ゼロ9個)」とすればよいとなります。 しかし、ゼロ9個の書式設定をしてしまうと、8桁の数字が「000123445」と表示されてしまいます。それでは困ります。 8桁は8ケタ、9桁は9ケタで、0から始まる数字を表示したい場合、どのようにすれば表示できるでしょうか? 長くなりましたが回答をお願いします。

  • エクセルでの抽出の仕方

    2桁、3桁の数字と3桁にだけついているアルファベットがあります。数字はそのままでアルファベットを消すというか数字だけ抽出する方法がありましたら教えてください。 例 75 100 100M 100B 55 で、数字だけにしたいです。

専門家に質問してみよう