在业务系统编制过程中,常常需要将参数内容做特定格式化处理或显示,即调用 Format 函数
为方便深入了解各参数作用,对调用Format函数时的各格式化参数做下记录如下:
01.格式化一号参数原型
"%" [index ":"] ["-"] [width] ["." prec] type
%: 格式化串必须以 %开始
index: 标识需要显示的是参数列表中的第多少位数字, 序位从 0 开始,如果使用了本参数,则后面必须马上跟上冒号
从第一个开始使用index参数的位置开始,之后的格式串,都是以index为起始点的相对顺序位执行
如: Format('%3:d,%d',[1,2,3,4,5,6]) 显示出来的将是 4,5
-:一般配合Width使用, 如果不使用,不足Width的位置在参数左侧以' '进行补位,如果使用了-,则在参数右侧补位
Prec: 一般配合前面的.来执行;主要用于标识精度,针对于整数:是在数字前面被0,如果为负数,负号不计Width
如: Format('%-.3d',[-5]) 输出的将是-005
type: 具体有很多种,我们分别了解一下
----------------------------------------------------------------------------------------------------------------
d: 表示十进制整数,正数负数正常显示
u: 无符号整数,如果参数为一个负数,则实际显示的值默认为2的32次方+这个负数, 但也可以强制进行64位转换
Format('%u',[-1]) ==> 4294967295
Format('%u',[-1]) ==> 4294967294
Format('%u',[Int64(-1)]) ==> 18446744073709551615
Format('%u',[Int64(-1)]) ==> 18446744073709551614
e: 科学记数法,对应整数和浮点数; 整数部分1位,默认小数点后为14位小数位,然后再是 E+3位计位数,
Format('%e',[123.234]) ==> 1.23234000000000E+002
Format('%e',[-123.234]) ==> - 1.23234000000000E+002
g:只针对浮点数进行格式化,若传入整数,将会报错:Format '%g' invalid or incompatible with argument.
其主要作用是将浮点数前后无效的内容去除掉
Format('%g',[02.340000]) ==> 2.34
Format('%g',[-02.340000]) ==> -2.34
n:只针对浮点数做格式化处理,对于整数部分,每3位数会做一个千分位分隔标识符,对于小数部分,默认为2位小数,
但可以通过控制精度来确定到底要多少位小数,若小数位不足指定长度,则会以0补位
m:基本效果与n一样,整数部分自动千分位,小数部分默认2位小数,但可以自定义精度,
与n不同的是,在格式化后的字符串前面有货币标识符号;
p:针对于指针类型的格式化使用,返回十六进制格式,长度为8, 实际十六进制值长度不到八位的,左侧补0
var x:string;
Format('%p',[addr(x)]) ==> 0018F544
s: 字符串,
长度结合. 长度结合- 长度结合-. 这三种情况,当实际长度不足时,参数右侧补' ';
在指定长度的情况下,默认为左侧补' '
x:只针对于整数做格式化,返回十六进制值
默认情况下返回整数对应的实际十六进值,实际长度是多少就是多少
但可以指定格式化的长度,当实际长度不足时,未使用-号时,左侧补' ', 使用后,右侧补' '
如果使用的精度模式,则不足位时,以0做被位,0补位于内容的左侧,当总长度>精度时,若长度还不够,则按是否使用-的情况来补位,补' '