关于delphi:Delphi-Format-格式化数字

7次阅读

共计 2126 个字符,预计需要花费 6 分钟才能阅读完成。

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′ // 后面补充 0
Format(‘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://www.developcls.com)

正文完
 0