数字格式化掩码指定要应用于某些数值的格式。
此掩码是以下格式字符的组合:
*
此字符在显示字段中以空白填充任何位置的星号。
&
此字符将填充任何空白的显示字段中的任何位置。
#
该字符将前面位置的零更改为空白。使用此字符指定字段的最大值的左侧范围。
<
该字符左对齐显示字段中的数字。它将前导零更改为空字符串。
,
该字符指示在值的全数部分中分隔三位数组(从单位位置向左计数)的符号。缺
省情况下,此符号是逗号。您可以使用 DBMONEY 环境变量设置符号。在格式化的数字
中,只有当该值的全数部分具有四位或更多位数时,才会出现该符号。
.
该字符表示将货币值的全数部分与小数部分分开的符号。缺省情况下,此符号是
一个句点。
您可以使用 DBMONEY 环境变量设置此符号。
格式字符串中只能有一个句点。
-
这个字符是一个文字。当 expr1 小于零时,它显示为负号。当您连续排列几个减
号,单个减号会浮动到可占据的最右侧位置,它不会干扰数字及其货币符号。
+
该符号是一个文字。当 expr1 大于等于零时,它显示为加号。当 expr1 小于零
时,它显示为负号。当您连续组合几个加号时,单个加号或减号会浮动到可占据的最右侧
位置,它不会干扰数字及其货币符号。
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 116 -
(
该符号是一个文字。它显示负数左侧的左括号。它是一对会计括号中的一个,用
于替换负数的括号。当您连续组合几个时,单个左括号将浮动到可占据的最右侧位置,它
不会干扰数字及其货币符号。
)
这是用于替换负值的负号的一对会计括号之一。
$
该字符显示出现在数值前面的货币符号。
缺省情况下,
货币符号是美元符号
($)
。
可以使用 DBMONEY 环境变量设置此符号。当您连续组合几个美元符号时,单个货币符
号浮动到可以占据的最右侧位置,它不会干扰这个数字。
格式化掩码中的任何其它字符在结果中字面上复制。
当您在格式化掩码中使用以下字符时,字符为 float;即,掩码中图案左侧的多个字符
出现在格式化数字中尽可能向右的单个字符(不删除有效数字) :
-
+
(
)
$
例如:如果对数字 1234.56 应用掩码 $$$,$$$.## ,则该结果为 $1,234.56。
当您使用 rfmtdec() 、rfmtdouble() 或 rfmtlong() 格式化 MONEY 值时,函数使用
DBMONEY 环境变量指定的货币符号。
如果未设置此环境变量,
则数字格式化函数使用客
户端语言环境定义的的货币符号。缺省情况使用美国英语定义货币符号,就像将
DBMONEY 设置为 “$,.”。
数字表达式的示例格式字符串
下表显示了数字表达式的示例格式字符串。字母 b 代表空格或空白。
表 8. 样本格式模式及结果
格式化掩码
数值
格式化结果
"#####"
0
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 117 -
格式化掩码
数值
格式化结果
"&&&&&"
"$$$$$"
"*****"
"<<<<<"
0
0
0
0
bbbbb 00000 bbbb$ *****
(空字符串)
“##,###”
"##,###"
"##,###"
"##,###"
"##,###"
"##,###"
"##,###"
12345
1234
123
12
1
-1
0
12,345 b1,234 bbb123
bbbb12 bbbbb1 bbbbb1 bbbbbb
"&&,&&&"
"&&,&&&"
"&&,&&&"
"&&,&&&"
"&&,&&&"
"&&,&&&"
"&&,&&&"
12345
1234
123
12
1
-1
0
12,345
01,234
000123
000012
000001
000001
000000
"$$,$$$"
"$$,$$$"
"$$,$$$"
"$$,$$$"
"$$,$$$"
"$$,$$$"
"$$,$$$"
"$$,$$$"
(DBMONEY 设置为
DM)
12345
1234
123
12
1
-1
0
1234
*****(溢出)
$1,234 bb$123 bbb$12
bbbb$1 bbbb$1
bbbbb$ DM1,234
"**,***"
"**,***"
"**,***"
"**,***"
12345
1234
123
12
12,345
*1,234
***123
****12
GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 118 -
格式化掩码
数值
格式化结果
"**,***"
"**,***"
1
0
*****1
******
"##,###.##"
"##,###.##"
"##,###.##"
"##,###.##"
"##,###.##"
"##,###.##"
"##,###.##"
"##,###.##"
"##,###.##"