14歳の自分に衝撃の事実を告げてください

delphiにて、以下のような書式設定はできるのでしょうか?

ゼロサプレス+カンマ表示+桁数固定での表示をさせたいと思っております。

例)数値データ → 変換後(6桁固定)
  「1000」    「 1,000」

簡単な方法はありますでしょうか?

A 回答 (3件)

こんにちは。


こんな感じではどうでしょう?

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
    • good
    • 0
この回答へのお礼

Currency型でのFormatなら一度に変換できるのですね。

また、参考URLも大変勉強になりました。
どうもありがとうございました。

お礼日時:2003/06/09 15:13

#1です。


#2さんの回答の方がスマートですね。
それに100000を入力しても100,000になるし。
Format関数にあまり慣れてないので...

#1,#2、どちらの回答でも整数を扱うにもかかわらず
Floatがでてくるんですね。
Delphiの仕様なのだろうか。
    • good
    • 0

ちょっと強引わざですが、こんなのはどうでしょうか。


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桁以内に限られるならこれでいいかも。

もっとスマートな方法があればいいのですが。
    • good
    • 0
この回答へのお礼

こんなに早く回答していただいて、
ありがごうございます。
とても参考になります。

これよりスマートとなると、2行以内での実現ですから、
ないような気がしますね。

お礼日時:2003/06/06 20:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報