返回格式化字符串(类似于C语言的sprintf() 函数)。
StringFormat ( "格式控制字符串", 变量1 [, ... 变量32] )
参数
| 格式控制字符串 | 要使用的格式和标志符(请查看下面的注意部分). |
| 变量1...变量32 | 最多可使用32个变量,与“格式控制字符串”的标志符一一对应输出。 |
返回值
返回根据“格式控制字符串”参数中定义的“变量格式”格式化后的字符串。
注意
为防止缓冲溢出,每个“变量”最多只能含有 65535 个字符。| 类型 | 变量类型 | 输出格式 |
| d, i | 整数 | 带符号的十进制整数。 |
| o | 整数 | 无符号的八进制整数。 |
| u | 整数 | 无符号的十进制整数。 |
| x | 整数 | 无符号的十六进制整数,使用 "abcdef" 表示。 |
| X | 整数 | 无符号的十六进制整数,使用 "ABCDEF" 表示 |
| e | 浮点数 | 带符号的数值,形式为 [ - ]d.dddd e [符号]ddd,其中 d 是一位十进制数,dddd 是一位或多位的十进制数,ddd 则(正好)是三位的十进制数,符号 则是 + 或 -。 |
| E | 浮点数 | 同上,但用大写 E 而不是小写 e(都被称为科学表示法)。 |
| f | 浮点数 | 带符号的数值,形式为 [ - ]dddd.dddd,其中 dddd 是一位或多位的十进制数。小数点前面的位数由该数的大小决定,而小数点后面的位数则由精度决定。 |
| g | 浮点数 | 带符号的数值,以 f 或 e 的格式输出,两者在给定的数值和精度下都会更紧凑一些。当指数小于 -4 或大于等于精度则使用 e 的格式;数值后面的零将被截断,仅当小数点后有一个或更多位数时才保留小数点。 |
| G | 浮点数 | 同上,但用大写 E 而不是小写 e |
| s | 字符串 | 字符串。 |
| 标志 | 意义 | 默认 |
| - | 在给定的宽度内左对齐。 | 右对齐 |
| + | 若输出值是某种带符号类型则对输出值前缀一个符号(+ 或 -)。 | 仅当带符号数值是负数时才会出现符号(-)。 |
| 0 | 若宽度带有前缀 0 则补零(直到达到最小宽度为止)。若 0 和 - 同时出现则 0 将被忽略。若 0 以整数格式(i、u、x、X、o、d)指定则 0 将被忽略。 | 不补零。 |
| 空格 | 若输出值是带符号的并且是正数则对输出值前缀一个空格;若 空格 和 + 标志同时出现则 空格 将被忽略。 | 无空格。 |
| # | 结合 o、x 或 X 格式使用时,# 标志表示要对所有非零输出值各自前缀一个 0、0x 或 0X。 | 无空格。 |
| # | 结合 e、E 或 f 格式使用时,# 标志表示要强制添加小数点到输出值中。 | 仅当小数点后有数时小数点才会出现。 |
| # | 结合 g 或 G 格式使用时,# 标志表示要强制添加小数点到输出值中并阻止数值后面的零被截断。 若 c、d、i、u 或 s 标志也出现则此标志将被忽略。 |
仅当小数点后有数时小数点才会出现。数值后面的零将被截断 |
| 类型 | 意义 | 默认 |
| d, i, u, o, x, X | 精度决定了要输出的数值的最小位数。若位数小于精度则输出值将被补零(左边开始)。当输出值的位数大于精度时则该数值并不会被截断。 | 默认精度为 1。 |
| e, E | 精度决定了要输出的数值的小数点后的位数。最后一位输出数将执行约舍(四舍五入)。 | 默认精度为 6;若精度为0或者是小数点(.)出现而无任何数字在后则小数将不被输出。 |
| f | 精度决定了要输出的数值的小数点后的位数。小数点前必须至少有一位数。该数值将被约舍。 | 默认精度为 6;若精度为0或者是小数点(.)出现而无任何数字在后则小数将不被输出。 |
| g, G | 精度决定了要输出的数值的最大有效数字。 | 输出六位有效数字,数值后面的所有零将被截断。 |
| s | 精度决定了要输出的数值的最大有效数字。超出精度的字符将不被输出。 | 字符序列将被输出直到遇到空字符为止。 |
相关
无
示例
$string = "string"
$float = 12.3
$int = 345
$s =StringFormat ( "var1=%s var2=%.2f var3=%d" ,$string, $float, $int )
msgbox(0, "结果", $s)
; 将输出 "var1=string var2=12.30 var3=345"
; 注意,之所以会输出 12.30 是因为格式控制字符串中的 %.2f 表示强制保留2位小数