delphi 中 Format 用法总汇文档格式.docx

上传人:b****4 文档编号:7355962 上传时间:2023-05-08 格式:DOCX 页数:8 大小:18.27KB
下载 相关 举报
delphi 中 Format 用法总汇文档格式.docx_第1页
第1页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第2页
第2页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第3页
第3页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第4页
第4页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第5页
第5页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第6页
第6页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第7页
第7页 / 共8页
delphi 中 Format 用法总汇文档格式.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

delphi 中 Format 用法总汇文档格式.docx

《delphi 中 Format 用法总汇文档格式.docx》由会员分享,可在线阅读,更多相关《delphi 中 Format 用法总汇文档格式.docx(8页珍藏版)》请在冰点文库上搜索。

delphi 中 Format 用法总汇文档格式.docx

-"

][width]["

."

prec]type

它是以"

开始,而以type结束,type表示一个具体的类型。

中间是用来

格式化type类型的指令字符,是可选的。

先来看看type,type可以是以下字符:

d十制数,表示一个整型值

u和d一样是整型值,但它是无符号的,而如果它对应的值是负的,则返回时是一个2的32次方减去这个绝对值的数,如:

thisis%u'

[-2]);

返回的是:

thisis4294967294

f对应浮点数

e科学表示法,对应整型数和浮点数,比如

thisis%e'

[-2.22]);

thisis-2.22000000000000E+000,等一下再说明如果将数的精度缩小

g这个只能对应浮点型,且它会将值中多余的数去掉,比如

thisis%g'

[02.200]);

thisis2.2

n只能对应浮点型,将值转化为号码的形式。

看一个例子就明白了

thisis%n'

[4552.2176]);

返回的是thisis4,552.22

 

注意有两点,一是只表示到小数后两位,等一下说怎么消除这种情况,二是,即使小数没有被截断,它也不会也像整数部分一样有逗号来分开的

m钱币类型,但关于货币类型有更好的格式化方法,这里只是简单的格式化,另外它只对应于浮点值

thisis%m'

[9552.21]);

返回:

thisis¥9,552.21

p对应于指针类型,返回的值是指针的地址,以十六进制的形式来表示

例如:

varX:

integer;

p:

^integer;

begin

X:

=99;

p:

=@X;

Edit1.Text:

=Format('

thisis%p'

[p]);

end;

Edit1的内容是:

thisis0012F548

s对应字符串类型,不用多说了吧

x必须是一个整形值,以十六进制的形式返回

Edit1.Text:

thisis%X'

[15]);

返回是:

thisisF

类型讲述完毕,下面介绍格式化Type的指令:

[index"

]这个要怎么表达呢,看一个例子

thisis%d%d'

[12,13]);

其中第一个%d的索引是0,第二个%d是1,所以字符显示的时候是这样thisis1213

而如果你这样定义:

thisis%1:

d%0:

d'

那么返回的字符串就变成了thisis1312。

现在明白了吗,[index"

]中的index指示Args中参数显示的顺序还有一种情况,如果这样

%d%d%d%0:

d%d'

[1,2,3,4])

将返回12312。

如果你想返回的是12314,必须这样定:

d%3:

但用的时候要注意,索引不能超出Args中的个数,不然会引起异常如

thisis%2:

由于Args中只有1213两个数,所以Index只能是0或1,这里为2就错了[width]指定将被格式化的值占的宽度,看一个例子就明白了

thisis%4d'

[12]);

输出是:

thisis 

12,这个是比较容易,不过如果Width的值小于参数的长度,则没有效果。

如:

thisis%1d'

thisis12

["

]这个指定参数向左齐,和[width]合在一起最可以看到效果:

thisis%-4d,yes'

thisis12 

yes

prec]指定精度,对于浮点数效果最佳:

thisis%.2f'

1.1234]);

输出thisis1.12

thisis%.7f'

输出了thisis1.1234000

而对于整型数,如果prec比如整型的位数小,则没有效果反之比整形值的位数大,则会在整型值的前面以0补之

thisis%.7d'

[1234]);

thisis0001234]

 

对于字符型,刚好和整型值相反,如果prec比字符串型的长度大则没有效果,反之比字符串型的长度小,则会截断尾部的字符

thisis%.2s'

1234'

输出是thisis12,而上面说的这个例子:

thisis-2.22000000000000E+000,怎么去掉多余的0呢,这个就行啦

thisis%.2e'

好了,第一个总算讲完了,应该对他的应用很熟悉了吧

///////////////////////////////////////////////////////////////

二FormatDateTime的用法

他的声明为:

functionFormatDateTime(constFormat:

DateTime:

TDateTime):

overload;

当然和Format一样还有一种,但这里只介绍常用的第一种,Format参数是一个格式化字符串。

DateTime是时间类型。

返回值是一种格式化后的字符串,重点来看Format参数中的指令字符

c以短时间格式显示时间,即全部是数字的表示

FormatdateTime('

c'

now);

输出为:

2004-8-79:

55:

40

d对应于时间中的日期,日期是一位则显示一位,两位则显示两位

输出可能为1~31

dd和d的意义一样,但它始终是以两位来显示的

dd'

输出可能为01~31

ddd显示的是星期几

ddd'

输出为:

星期六

dddd和ddd显示的是一样的。

但上面两个如果在其他国家可能不一样。

ddddd以短时间格式显示年月日

ddddd'

2004-8-7

dddddd以长时间格式显示年月日

dddddd'

2004年8月7日

e/ee/eee/eeee以相应的位数显示年

ee'

04 

(表示04年)

m/mm/mmm/mmmm表示月

m'

8

mm'

输出为 

08

mmm'

八月

mmmm'

和ddd/dddd一样,在其他国家可能不同yy/yyyy表示年

yy'

输出为04

yyyy'

输出为2004,

h/hh,n/nn,s/ss,z/zzz分别表示小时,分,秒,毫秒

以短时间格式显示时间

t'

输出为10:

17

tt以长时间格式显示时间

tt'

输出为10:

18:

46

ampm以长时间格式显示上午还是下午

ttampm'

10:

22:

57上午

大概如此,如果要在Format中加普通的字符串,可以用双引号隔开那些特定义的字符,这样普通字符串中如果含特殊的字符就不会被显示为时间格式啦:

todayis"

c'

todayis2004-8-710:

26:

58

时间中也可以加"

或"

\"

来分开日期:

yy-mm-dd'

yy\mm\dd'

todayis04-08-07

也可以用"

来分开时间 

hh:

nn:

ss'

todayis10:

32:

23

/////////////////////////////////////////////////////////////////

三.FormatFloat的用法

常用的声明:

functionFormatFloat(constFormat:

Value:

Extended):

和上面一样Format参数为格式化指令字符,Value为Extended类型为什么是这个类型,因为它是所有浮点值中表示范围最大的,如果传入该方法的参数比如Double或者其他,则可以保存不会超出范围。

关键是看Format参数的用法

这个指定相应的位数的指令。

比如:

FormatFloat('

000.000'

22.22);

输出的就是022.220

注意一点,如果整数部分的0的个数小于Value参数中整数的位数,则没有效果如:

0.00'

输出的是:

22.22

但如果小数部分的0小于Value中小数的倍数,则会截去相应的小数和位数如:

0.0'

22.2

也可以在整数0中指定逗号,这个整数位数必须大于3个,才会有逗号出句

0,000.0'

2222.22);

2,222.2

如果这样

000,0.0'

它的输出还是:

注意它的规律,#和0的用法一样,目前我还没有测出有什么不同。

##.##'

22.00

科学表示法,看几个例子大概就明白了

0.00E+00'

输出是2.22E+03

0000.00E+00'

输出是2222.22E+00

00.0E+0'

22.2E+2

明白了吗,全靠E右边的0来支配的。

这个方法并不难,大概就是这样子了。

上面三个方法是很常用的,没有什么技巧,只要记得这些规范就行了。

总结一下Format的用法:

x=%d'

//'

x=12'

//最普通

x=%3d'

//指定宽度

x=%f'

[12.0]);

x=12.00'

//浮点数

x=%.3f'

x=12.000'

//指定小数

x=%8.2f'

[12.0])//'

;

x=%.*f'

[5,12.0]);

x=12.00000'

//动态配置

x=%.5d'

x=00012'

//前面补充0

x=%.5x'

x=0000C'

//十六进制

x=%1:

d%0:

x=1312'

//使用索引

x=%p'

[nil]);

x=00000000'

//指针

x=%1.1e'

x=1.2E+001'

//科学记数法

x=%%'

[]);

x=%'

//得到"

S:

%s%d'

[S,I]);

//S:

=S+StrToInt(I);

//连接字符串

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2