Delphi中Format字符串说明
function Format(const Format: string; const Args: array of const):
string;
Format字符串说明:
"%" [index ":"] ["-"] [width] ["." prec] type
(1)
格式化字符串必须以%开头
(2) [index ":"]
索引指的是Args参数列表中要显示的每一项的序号。比如:Args是
['a',
'c'],那么'a'的索引就是0,而'c'的索引就是1,而且由于只有
两项,所以就不会出现大于1的索引值。
Format('%2:s %1:s %0:s', ['1st', '2nd',
'3rd']);
结果:'3rd 2nd 1st'
(3) ["-"]
这个标识符的作用是当要显示的字符的个数少于[width]时,在右边填补空格;
如果没加上["-"],则在左边填补空格。
Format('(%4s)', ['aa']); 结果:' aa'
(4) [width]
宽度
规定了要显示的字符的个数。如果要显示的宽度大于[width],则按实际的
宽度来显示;反之,则填补空格或按要求填补其它字符。
(5) ["." prec]
精度
这是针对浮点数来说的,一般就是指小数点后的位数。
(6) type 类型(见下面)
type的可能值有下列这些:
(1) d
有符号十进制数
Args必须是有符号整型数。如果在格式化字符串中还加入了["."
prec],则如果Args
的长度如果小于给出的精度数时,在前边填补0;如果大于精度数,按实际长度显示。
Format('(%.3d)', [99]); 结果:'(099)'
(2) u
无符号十进制数
Args必须是无符号整型数。其它特性与d一样。
(3) e
科学技术法
用科学技术法显示数据,形式大致如下:'-d.ddd...E+ddd'。
Args必须是一个浮点数。如果是一个负数,则在最前面显示一个符号;在小数点前面
总是显示一位数字;包括小数点前面的数字在内,数字的个数由["."
prec]来确定,
如果没有指定["."
prec],则默认为15位精度。如果实际的数字长度超出了指定的
["."
prec],则刚刚超出的那一位数字四舍五入。指数符号E后面总是要跟着加号或
减号,并且在后面至少跟着三位数字。
(4) f 固定的
Args必须为浮点数,转换后的形式大致是'-ddd.ddd...'这样的。
如果要转换的是负值,则前面有一个负号。转换后的数字,在小数点后面的数字的个数
由["." prec]决定。如果没有指定["." prec],默认为2位精度。
(5) g
一般的
Args必须为浮点数。
被转换后的数字总是尽可能的简短(有可能是f或e形式的)。有重要意义的数字的长度
由["."
prec]来决定,默认为15位(包括整数位和小数位)。数字前后的0都将被去掉,
小数点也只有在必要的时候才显示出来。如果小数点左边的数字小于等于指定的精度,
并且整个值大于或等于0.00001的时候,才使用f的显示格式,否则使用e(科学技术法)
(6) n
Args必须是浮点数。形式和f是一样的,不同的是会显示千位符,如:1,123,444
(7) m
货币类型
Args必须是浮点数。能够显示货币符号,可以通过“控制面板”来设置。小数点后
的位数由["." prec]决定,如果没用["." prec],则默认2位。
(8) p
指针
Args必须是一个指针值。
将指针转换为8个字符的十六进制字符串。
(9) s 字符串
Args必须是字符,字符串或PChar值。
如果指定了["."
prec],并且字符串的实际长度大于["."
prec],则从左到右截取
精度指定数量的字符串,其余的删除。
(10) x
十六进制
Args必须是一个整型数。
如果使用了["."
prec],不足部分要用0补齐。
注意:[index ":"] [width] ["."
prec]可以使用这样的格式:
Format('%*.*f',
[8, 2, 123.456])
等价于:Format('%8.2f', [123.456]).
---
本文章使用“国华软件”出品的博客内容离线管理软件MultiBlogWriter撰写并发布