Format(''this is %2:d %0:d'',[12,13]);
由于Args中只有12 13 两个数,所以Index只能是0或1,这里为2就错了[width] 指定将被格式化的值占的宽度,看一个例子就明白了
Format(''this is %4d'',);
输出是:this is 12,这个是比较容易,不过如果Width的值小于参数的长度,则没有效果。
如:
Format(''this is %1d'',);
输出是:this is 12
["-"]这个指定参数向左齐,和[width]合在一起最可以看到效果:
Format(''this is %-4d,yes'',);
输出是:this is 12 ,yes
["." prec] 指定精度,对于浮点数效果最佳:
Format(''this is %.2f'',[''1.1234]);
输出 this is 1.12
Format(''this is %.7f'',[''1.1234]);
输出了 this is 1.1234000
而对于整型数,如果prec比如整型的位数小,则没有效果反之比整形值的位数大,则会在整型值的前面以0补之
Format(''this is %.7d'',[1234]);
输出是:this is 0001234]
对于字符型,刚好和整型值相反,如果prec比字符串型的长度大则没有效果,反之比字符串型的长度小,则会截断尾部的字符
Format(''this is %.2s'',[''1234'']);
输出是 this is 12,而上面说的这个例子:
Format(''this is %e'',[-2.22]);
返回的是:this is -2.22000000000000E+000,怎么去掉多余的0呢,这个就行啦
Format(''this is %.2e'',[-2.22]);
好了,第一个总算讲完了,应该对他的应用很熟悉了吧
///////////////////////////////////////////////////////////////
二 FormatDateTime的用法
他的声明为:
function FormatDateTime(const Format: string; DateTime: TDateTime): string;
overload;
当然和Format一样还有一种,但这里只介绍常用的第一种,Format参数是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串,重点来看Format参数中的指令字符
c 以短时间格式显示时间,即全部是数字的表示
FormatdateTime(''c'',now);
输出为:2004-8-7 9:55:40
d 对应于时间中的日期,日期是一位则显示一位,两位则显示两位
FormatdateTime(''d'',now);
输出可能为1~31
dd 和d的意义一样,但它始终是以两位来显示的
FormatdateTime(''dd'',now);
输出可能为01~31
ddd 显示的是星期几
FormatdateTime(''ddd'',now);
输出为: 星期六
dddd 和ddd显示的是一样的。 但上面两个如果在其他国家可能不一样。ddddd 以短时间格式显示年月日
FormatdateTime(''ddddd'',now);
输出为:2004-8-7
dddddd 以长时间格式显示年月日
FormatdateTime(''dddddd'',now);
输出为:2004年8月7日
e/ee/eee/eeee 以相应的位数显示年
FormatdateTime(''ee'',now);
输出为:04 (表示04年)
m/mm/mmm/mmmm 表示月
FormatdateTime(''m'',now);
输出为:8
FormatdateTime(''mm'',now);
输出为 08
FormatdateTime(''mmm'',now);
输出为 八月
FormatdateTime(''mmmm'',now);
输出为 八月
和ddd/dddd 一样,在其他国家可能不同yy/yyyy 表示年
FormatdateTime(''yy'',now);
输出为 04
FormatdateTime(''yyyy'',now);
输出为 2004,
h/hh,n/nn,s/ss,z/zzz 分别表示小时,分,秒,毫秒
t 以短时间格式显示时间
FormatdateTime(''t'',now);
输出为 10:17
tt 以长时间格式显示时间
FormatdateTime(''t