• ベストアンサー

delphiでの文字表示書式

delphiにて、以下のような書式設定はできるのでしょうか? ゼロサプレス+カンマ表示+桁数固定での表示をさせたいと思っております。 例)数値データ → 変換後(6桁固定)   「1000」    「 1,000」 簡単な方法はありますでしょうか?

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

こんにちは。 こんな感じではどうでしょう? var r: Currency ; begin  r := StrToFloat(Edit1.Text);  Edit2.Text := Format('%6.0n',[r]); end; ↓こちらを参考にしました。 http://forum.nifty.com/fdelphi/faq/00149.htm

参考URL:
http://forum.nifty.com/fdelphi/faq/00149.htm
wwwwtaka
質問者

お礼

Currency型でのFormatなら一度に変換できるのですね。 また、参考URLも大変勉強になりました。 どうもありがとうございました。

その他の回答 (2)

  • prome
  • ベストアンサー率32% (64/196)
回答No.3

#1です。 #2さんの回答の方がスマートですね。 それに100000を入力しても100,000になるし。 Format関数にあまり慣れてないので... #1,#2、どちらの回答でも整数を扱うにもかかわらず Floatがでてくるんですね。 Delphiの仕様なのだろうか。

  • prome
  • ベストアンサー率32% (64/196)
回答No.1

ちょっと強引わざですが、こんなのはどうでしょうか。 sをstringで定義しておき、 Edit1に入力した数値を、Edit2に返すという仕様です。 s := FormatFloat('##,##0', StrToInt(Edit1.Text)); s := StringOfChar(' ', 6) + s; Edit2.Text := Copy(s, Length(s)-6+1, 6); これだと100000を入力すると、00,000になりますが、 数値は5桁以内に限られるならこれでいいかも。 もっとスマートな方法があればいいのですが。

wwwwtaka
質問者

お礼

こんなに早く回答していただいて、 ありがごうございます。 とても参考になります。 これよりスマートとなると、2行以内での実現ですから、 ないような気がしますね。

関連するQ&A

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

    お世話になっております。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から始まる数字を表示したい場合、どのようにすれば表示できるでしょうか? 長くなりましたが回答をお願いします。

  • Excelでゼロサプレスする際の書式設定について

    Excelのセルの書式設定で、値がゼロの時に非表示にするため、書式設定を以下のように変更しました。 旧)「文字列」 新)「ユーザー定義」とし、「#,###」と設定 これによって確かにゼロサプレスできるようになったのですが、新たな問題がでてきました。 セルの幅に収まりきらない桁数の大きい数値が「#####」と表示されるようになってしまいました。これまでは左隣のセルにまたがって(文字列で右揃えの設定だったので)表示させていたので問題なかったのですが、書式設定を上記内容に変更したことで、セルの書式自体は右揃えなっているのですが左隣のセルにまたがって表示されなくなりました。 元通り、桁数の大きい場合は隣のセルにまたがって表示させるようにするにはどうすればよいでしょうか? よい方法があったら是非教えてください。お願いします。

  • エクセルのセルの書式のユーザー定義について

    今私はエクセル2003の勉強をしています。 エクセルの 書式→セルで出てくるセルの書式設定ダイアログボックスで、 ユーザー定義というのがありますよね。 それの#や0の数値に関する書式記号の意味がわかりません。 たとえば、#は、 有効桁数を表示し、余分な0を表示しない と私が今勉強しているテキストには書いてあるのですが、 これは一体どういう意味なのでしょうか? ##とあれば有効桁が2桁ということだから、 12345という数があれば、12というふうに表示されるということでしょうか? また、余分な0を表示しないということは、 ##なら、1200は12ということになるのでしょうか? また、0の意味もわかりません。 テキストには、#,###.00の場合、1234.5→1,234.50という風に表示されると書いてあるのですが、1235.00って表示されるのではいのですか? まったくわからないので、 なるべくたくさんの具体例を用いて、 #や0、あとカンマ、やピリオドの書式記号について 教えてくださると嬉しいです。 文章をあまりうまくかけないので、 質問内容がなんなのかよくわからなかったらすみません。 よろしくお願いします。

  • レポートのテキストボックスでこんなのを表示したいんですが

    Access97にてレポートを作成しています。 レポート内のテキストボックスに単純に数値を表示したいのですが、 以下の要件を満たしたいんです。 ・1000以上の数値ならカンマで区切る ・小数点以下の数値がない場合は整数部分だけ表示 ・小数点以下の数値がある場合は小数点以下の数字を桁に応じて表示 例 「945」→「945」 「1283」→「1,283」 「10.42」→「10.42」 「8.2」→「8.2」 テキストボックスのプロパティ「書式」を「数値」、 かつ「小数点以下桁数」を「自動」にしても、なぜか全ての数値が 小数点以下2桁まで表示されてしまいます。 お知恵をおかしください。 よろしくお願いします。

  • 入力した通りに表示されない

    セルの書式設定が 数値 になっています。小数点以下の桁数は 1です。 6と入力すると6.0と表示されますが、6.5と入力すると0.3と表示せれてしまいます。 数式バーを見ると0.253472222222222と表示されています。 打ち込むときにコンマを打つと .では無く :が表示されているようです。 なぜでしょう?どうしたら修正できますか? 宜しくおねがいします。

  • エクセルでの『セルの書式設定』について、右揃えができない!

    こんにちわ。 エクセルで、セルの書式設定にて実験データの表など を右揃えにすることが多いのですが、書式設定内で 表示形式→数値→小数点以下の桁数、で桁数を変える と何故か右揃えがほかのセルの右揃えと合わなくなり ます。(少しずれているのです。) これは桁数を特にいじらなければ起きないのですが、 有効桁数を揃えるなどで桁数をいじると起きます。 桁数を変更しても全てのセルが右揃えにする方法は ないのでしょうか?

  • エクセルで整数表示と少数表示を混在させたい

    お世話になります。 集計用のファイルを作っています。 整数と、小数点以下1桁、2桁の数値が出てきます。 書式設定で小数点以下2桁まで表示するようにしたら、整数や小数点以下1桁の数値まで120.00とか25.50と表示されてしまい、見にくくなってしまいました。 小数点以下に0がつく場合は無視して、それぞれ120、25.5、3.25のように必要な桁数だけ表示させたいのですが、どうしたらよいでしょうか。

  • エクセルの書式設定を、ワードに反映させたい

    エクセルで、金額に書式設定で桁区切りの コンマをつけたデータがあります。 このデータを、ワードで差し込み印刷すると、 コンマが表示されません。 表示させる方法はあるのでしょうか? よろしくお願いいたします。

  • セルの書式設定で表示形式の分類を数値にすると

    セルの書式設定で表示形式の分類を数値にすると 「桁区切り( )を使用する」と表示されますが、 ?を入れてもカンマが表示されませんでした。 よく見ると( )の中に , がありません。 どうしたら表示されますか?

  • エクセル0.0の書式

    エクセル0.0と表示したいのですが0を入力すると表示されません。 書式設定で数値、小数点以下の桁数を1にしても何も表示されません。 元の作成者が別の人なので、どう設定しているかわかりかねています。 設定方法を簡潔に教えてください。

専門家に質問してみよう