Functions.Transform 方法 (String, String) | |
将任何值转换为格式化字符串。
命名空间:
XSharp.RT
程序集:
XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法 FUNCTION Transform(
uValue AS STRING,
cSayPicture AS STRING
) AS STRING
public static string Transform(
string uValue,
string cSayPicture
)
查看代码参数
- uValue
- 类型:String
要格式化的值。
此表达式可以是任何有效的X#数据类型,除了数组、代码块、对象和NIL。
- cSayPicture
- 类型:String
描述返回字符串格式的图片和模板字符串。
返回值
类型:
String
由
cSayPicture定义的格式化字符串。
备注
Transform()是一个转换函数,根据指定的图片字符串(包括图片函数和模板字符串的组合)格式化字符、日期、逻辑和数值。Transform()以与@...SAY命令的PICTURE子句相同的方式格式化数据以输出到屏幕或打印机。
要将转换后的字符串转回其原始值,请使用Unformat()。
函数字符串:
图片函数字符串指定适用于整个Transform()返回值的格式化规则,而不是uValue中特定字符位置的规则。
函数字符串由@字符开始,后跟一个或多个附加字符,每个字符都有特定含义(见下表)。
如果存在函数字符串,@字符必须是图片字符串的最左侧字符,且函数字符串不得包含空格。
函数字符串可以单独指定,也可以与模板字符串一起指定。
如果两者都存在,函数字符串必须在模板字符串之前,两者必须用单个空格分隔。
函数 动作
B 左对齐显示数字
C 在正数后显示CR
D 以SET DATE格式显示日期
E 以英国格式显示日期
R 插入非模板字符
X 在负数后显示DB
Z 将零显示为空格
( 将负数括在括号中
! 将字母字符转换为大写
模板字符串:
图片模板字符串在字符基础上指定格式化规则。
模板字符串由一系列字符组成,其中一些具有特殊含义(见下表)。
模板字符串中的每个位置对应uValue参数值中的一个位置。由于Transform()使用模板,它可以插入格式化字符,如逗号、美元符号和括号。
模板字符串中没有指定含义的字符会被逐字复制到返回值中。
如果使用@R图片函数,这些字符会插入到返回值的字符之间;否则,它们会覆盖返回值中相应的字符。
模板字符串可以单独指定,也可以与函数字符串一起指定。
如果两者都存在,函数字符串必须在模板字符串之前,两者必须用单个空格分隔。
模板 动作
A,N,X,9,# 显示任何数据类型的数字
L 将逻辑值显示为"T"或"F"
Y 将逻辑值显示为"Y"或"N"
! 将字母字符转换为大写
$ 在数字的前导空格位置显示美元符号
* 在数字的前导空格位置显示星号
. 指定小数点位置
, 指定逗号位置
示例
此示例使用模板将数字格式化为货币格式:
1? Transform(123456, "$999,999")
此示例使用函数格式化字符串:
1? Transform("to upper", "@!")
参见