delphiがよくわかっていない初心者です。
「%d」はわかるのですが「%%%d.%dd」とは何ですか?
ネットや本で調べてみてもわかりませんでした。どうぞ教えて下さい。
形式文字列?
Formatの 形式文字列だと思うのですが、
形式指定子は %ですので、'%'を表すのは'%%'とします。
この場合、
Format('%%%d.%dd',[2,3])
だと、結果は'%2.3d'とでもなるのでしょうかね。
HOtasさん、ありがとうございます。
これは既に作られていた、コードですが、
数字をいれるようです。例えば、「1」を入れると「0001」や「001」
なるようです。
「1」を入れると「0001」や「001」にするのなら、
Format('%.4d',[1])
Format('%.3d',[1])
ですね。
Format関数で、形式化した文字列を生成するために、その形式を返すための形式文字列。
> 数字をいれるようです。例えば、「1」を入れると「0001」や「001」
具体的なコードを示せ。
入れるってどこに入れるんだよ。
ソレダケジャ、ワカンネーヨ
>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」になるのですね。
ありがとうございました。
これは変ですね。dは整数値に対する形式文字で、整数に対しては、
'%2d'としか使えません。少数まで制御するなら、'%2.3f'の様な制御文字になります。このサンプルはこっていますが、全く間違っています。
>「0002.1」になるのですね。
整数ですよね?
>整数に対しては、'%2d'としか使えません
勘違いされてますね・・・整数でも使用できます
例えば "%4.3d" とした時は4桁の幅指定で3桁の精度指定となります
Format("[%4.3d]", [3]) は " 003"を返します(先頭はスペースが入っている)
>Format("[%4.3d]", [3])
余分な[]が入ってました
そうですね。勘違いしました。
ツイート | ![]() |