%%%d.%ddとは何ですか?

解決


でるでる  2006-03-11 07:03:40  No: 20449

delphiがよくわかっていない初心者です。
「%d」はわかるのですが「%%%d.%dd」とは何ですか?
ネットや本で調べてみてもわかりませんでした。どうぞ教えて下さい。


質問の意味ワカリマセン  2006-03-11 07:58:40  No: 20450

形式文字列?


HOta  2006-03-11 18:39:49  No: 20451

Formatの 形式文字列だと思うのですが、
形式指定子は %ですので、'%'を表すのは'%%'とします。
この場合、
Format('%%%d.%dd',[2,3])
だと、結果は'%2.3d'とでもなるのでしょうかね。


でるでる  2006-03-12 21:17:43  No: 20452

HOtasさん、ありがとうございます。
これは既に作られていた、コードですが、
数字をいれるようです。例えば、「1」を入れると「0001」や「001」
なるようです。


HOta  2006-03-12 22:41:06  No: 20453

「1」を入れると「0001」や「001」にするのなら、
Format('%.4d',[1])
Format('%.3d',[1])
ですね。


は?  2006-03-12 23:03:53  No: 20454

Format関数で、形式化した文字列を生成するために、その形式を返すための形式文字列。

> 数字をいれるようです。例えば、「1」を入れると「0001」や「001」
具体的なコードを示せ。

入れるってどこに入れるんだよ。
ソレダケジャ、ワカンネーヨ


でるでる  2006-03-13 01:26:19  No: 20455

>Format関数で、形式化した文字列を生成するために、その形式を返すための形式文字列。

そういうことなんですね、わかりました。
最初にコードを書けばよかったです、あせっていました。
  
a,b,e... integer
c,d  ... String

c := Format('%%%d.%dd',[a,b]);
d := Format(c,[e]);

aに4、bに1を代入
eに2を代入すれば
「0002.1」になるのですね。

ありがとうございました。


HOta  2006-03-13 05:31:10  No: 20456

これは変ですね。dは整数値に対する形式文字で、整数に対しては、
'%2d'としか使えません。少数まで制御するなら、'%2.3f'の様な制御文字になります。このサンプルはこっていますが、全く間違っています。


書式  2006-03-13 05:57:52  No: 20457

>「0002.1」になるのですね。
整数ですよね?

>整数に対しては、'%2d'としか使えません
勘違いされてますね・・・整数でも使用できます
例えば "%4.3d" とした時は4桁の幅指定で3桁の精度指定となります
Format("[%4.3d]", [3]) は " 003"を返します(先頭はスペースが入っている)


おっと  2006-03-13 06:00:13  No: 20458

>Format("[%4.3d]", [3])
余分な[]が入ってました


HOta  2006-03-13 19:25:57  No: 20459

そうですね。勘違いしました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加