天软金融分析.NET函数大全 > TSL函数 > 基础函数 > 字符串 > 常用字符串函数

Format    

简述

返回根据formatstr设定的格式将v1,v2,v3,…参数连成字符串返回。

在占位计算的时候,Format函数对待一个汉字为一个位置,如果需要采用一个汉字为两个位置的,请使用AnsiFormat,AnsiFormat的参数定义与Format函数完全一致。
格式串包含两种:一个是基本文本字符串、还有一些占位符和格式符号(通常由%符号标出),基本文字字符按照原样显示,而占位v1,v2,v3,…参数中每个值对应一个占位符。使用的时候各格式控制符按照下面的顺序排列:

"%" [index ":"] ["-"] [width] ["." prec] TYPE
中括号括起来的都是可选参数意义如下:
符号 含义
: 可以加上参数的索引,指明选择那个参数,索引号从0开始
- 表示向左对齐
[width] 表示相应的参数占多少个显示位置
["." Prec] 表示精度

如果占位符输出类型TYPE(由%符号后面的字母表示)与对应的参数类型不匹配,将产生一个运行时错误。
除了%d外,Format 函数还定义了许多占位符,见表7.1。这些占位符定义了相应数据类型的默认输出,你可以用更深一层的格式化约束改变默认输出,例如一个宽度约束决定了输出中的字符个数,而精度约束决定了小数点的位数。
例如TYPE说明数据类型,含义如下
符号 含义
D (decimal) 将整型值转换为十进制数字字符串
X (hexadecimal) 将整型值转换为十六进制数字字符串
S (String) 拷贝字符串、字符、或字符指针值到一个输出字符串
E (exponential) 将浮点值转换为指数表示的字符串
F (floating point) 将浮点值转换为浮点表示的字符串
G (general) 使用浮点或指数将浮点值转换为最短的十进制字符串
N (number) 将浮点值转换为带千位分隔符的浮点值
m (money) 将浮点值转换为现金数量表示的字符串,Currency类型
定义
Format(formatstr:String;v1[; v2;v3;…]:Any):String;
参数
名称类型说明
formatstrString格式串,指明后面的参数的输出格式。
v1Any各种类型,并对应formatstr中的各种类型
v2Any可选参数,任意类型,指定的数值。
V3Any可选参数,任意类型,指定的数值。
返回String
字符串
  • 范例


    1、把两个数字格式化为字符串:Format('First %d, Second %d', n1, n2);
    其中n1和n2是两个整数值,第一个占位符由第一个值替代,第二个占位符由第二个值替代,以此类推。
    2、Format ('%-8d', n1);
    该句把数字n1转换成有长度是8个字符的字符串,并通过填充空白使文本左对齐,左对齐用减号(-)
    范例01:(D 和X的使用范例)
    //指定前2个数值转化为十进制数字字符串,第3个整数转化成十六进制字符串,3个数值必须是整数。
    //第2个转化%-5d:由于3只有1位,需要左对齐,则在右边添加4位空格
    return Format('%d,%-5d,%X',4,3,12);
    //输出字符串:4,3  ,C

    范例02:(E的使用范例)
    //.1表示后面的小数位的精度。注意,v必须是一个浮点数,比如1234400.0,如果是1234400则被认为是整数,执行函数报错
    return format("%.1E",1234400.0);
    //输出字符串:1.2E+006

    范例03:(F的使用范例)
    return format("%.1f",1234400.56789);
    //输出字符串: 1234400.6

    范例04:(G的使用范例)
    return format("%G",1.2E+006);
    //输出字符串:1200000

    范例05:(N的使用范例)
    return format("%.1N",1234400.56789);
    //输出字符串:1,234,400.6

    范例06:(M的使用范例)
    return format("%.1M",1234400.56789);
    //输出字符串:¥1,234,400.6

    范例七:(参数的索引)
    return Format('%2:d,%1:5d,%0:X',14,3,12);
    //输出字符串:12,  3,E
    参考
    SetFormatLocalCode GetFormatLocalCode AnsiFormat 
相关
FAQ/知识库链接