delphi负数变正数_Delphi Format 格式化数字

Format(‘x=%d‘, [12]); //‘x=12‘ //最普通Format(‘x=%3d‘, [12]); //‘x= 12‘ //指定宽度Format(‘x=%f‘, [12.0]); //‘x=12.00‘ //浮点数Format(‘x=%.3f‘, [12.0]); //‘x=12.000‘ //指定小数Format(‘x=%.*f‘, [5, 12.0]); //‘x=12.00000‘ //动态配置Format(‘x=%.5d‘, [12]); //‘x=00012‘ //前面补充0Format(‘x=%.5x‘, [12]); //‘x=0000C‘ //十六进制Format(‘x=%1:d%0:d‘, [12, 13]); //‘x=1312‘ //使用索引Format(‘x=%p‘, [nil]); //‘x=00000000‘ //指针Format(‘x=%1.1e‘, [12.0]); //‘x=1.2E+001‘ //科学记数法Format(‘x=%%‘, []); //‘x=%‘ //得到"%"S := Format(‘%s%d‘, [S, I]); //S := S + StrToInt(I); //连接字符串\

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]).

转载自:天空的博客(http://wymsxty.blog.163.com/blog/static/77790858201262963921161/)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值