delphi_format
*Delphi Formatの使い方 [[http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00149.htm]] 15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」 [Q] 形式文字列を使うFormatは便利ですが、ヘルプの説明から形式文字列を作成 するのは骨が折れます。例示があると大変助かりますが。 [A] 形式文字列を使うたびに、豊富な使用例があるとよいが、と思っていまし た。SBORLAND および FDELPHI の過去ログから抜粋した使用例に、2・3例を 追加して、コンソール表示させてみたのが以下の例です。 また、浮動小数点値を Format 形式にする、FormatFloat は過去ログにあ った例示が少なかったため、ここに入れておきました。 [例] >program FormatStr; > >{$APPTYPE CONSOLE} >uses >Classes,SysUtils; > >var >st1,st2: string; >i,j,k: integer; >r: real; > >begin >i:=10; j:=100; {コンソールに表示されたもの} >Writeln(Format('%d',[i])); {10} >Writeln(Format('%3d',[i])); { 10} >Writeln(Format('%.3d',[i])); {010} >Writeln(Format('%03d',[i])); { 10} >Writeln(Format('Edit%d',[i])); {Edit10} >Writeln(Format('\%3.3d.',[i])); {\010.} >Writeln(Format('%d%%',[i])); {10%} >Writeln(Format(':%d',[i])); {:10} >Writeln(Format('XY%.3d',[i])); {XY010} >Writeln(Format('%d,%d',[i,j])); {10,100} >Readln; > >r:=i; >k:=2; >Writeln(Format('%f',[r])); {10.00} >Writeln(Format('%.0f',[r])); {10} >Writeln(Format('%4.2f',[r])); {10.00} >Writeln(Format('%2.3f ',[r])); {10.000} >Writeln(Format('%3.1f 倍',[r])); {10.0 倍} >Writeln(Format('%.7d %f',[7,1.234])); {0000007 1.23} > >Writeln(Format('%n',[r])); {10.00} >Writeln(Format('%.0n',[r])); {10} >Writeln(Format('%*.*n',[i,k,r])); { 10.00} >Writeln(Format('%.0n',[r])); {10} >Writeln(Format('%10.0n',[r])); { 10} > >Writeln(Format('%m',[r])); {\10} >Writeln(Format('%12m',[r])); { \10} > >Writeln(Format('%X%x%X%x',[i,i+1,i+2,j])); {ABC64} >Writeln(Format('%x%x%x%x',[1,2,3,4])); {1234} >Writeln(Format('%.4x',[i])); {000A} >Writeln(Format('%4X',[i])); { A} >Writeln(Format('Icon Index is 0x%.4x',[i])); >{Icon Index is 0x000A} >Writeln(Format('$%02X',[i])); {'$ A'} > >st1:='東京都'; st2:='出府愛二'; >Writeln(Format('%13s ',[st1])); { 東京都} >Writeln(Format('%-10s%-10s%.5d',[st1,st2,i])); >{東京都 出府愛二 00010} >Readln; > >r:=10.12345; >Writeln(Format('%f',[r])); {10.12} >Writeln(Format('%.0f',[r])); {10} >Writeln(Format('%4.2f',[r])); {10.12} >Writeln(Format('%2.3f ',[r])); {10.123} >Writeln(Format('%3.1f 倍',[r])); {10.1 倍} >Writeln(Format('%.7d %f',[7,1.234])); {0000007 1.23} >Writeln(Format('%n',[r])); {10.12} >Writeln(Format('%.0n',[r])); {10} >Writeln(Format('%*.*n',[i,k,r])); { 10.12} >Writeln(Format('%.0n',[r])); {10} >Writeln(Format('%10.0n',[r])); { 10} >Writeln(Format('%m',[r])); {\10} >Writeln(Format('%12m',[r])); { \10} >Readln; > >Writeln(FormatFloat('0##',i)); {010} >Writeln(FormatFloat('#,##0',i)); {10} >Writeln(FormatFloat('0000',i)); {0010} >Writeln(FormatFloat('#,###',i)); {10} >Writeln(FormatFloat('###.0',i)); {10.0} > >Writeln(FormatFloat('0##',r)); {010} >Writeln(FormatFloat('#,##0',r)); {10} >Writeln(FormatFloat('0000',r)); {0010} >Writeln(FormatFloat('#,###',r)); {10} >Writeln(FormatFloat('###.0',r)); {10.1} >Readln; >end. Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
2025-04-02 12:42:08 32400