6.7.4.2 自定义货币格式
自定义货币格式与基本数值格式密切相关,但它们允许用户自定义输出格式。SET 命令使用以下语法配置自定义货币格式:
SET CCx="string".
其中 x 为 A、B、C、D 或 E,string 长度不超过 16 个字符。
string 必须恰好包含三个逗号或恰好包含三个句点(但不能两者都有),不过可以使用单引号字符来“转义”其后的逗号、句点或单引号。如果使用三个逗号,则逗号用于输出中的分组,句点用作小数点。使用句点则会互换这两种角色。
逗号或句点将 string 划分为四个字段,分别称为_负向前缀_、前缀、后缀_和_负向后缀。只要有空间,前缀和后缀就会添加到输出中。当输出包含非零数字时,负向前缀和负向后缀总是会添加到负数上。
以下语法展示了如何使用自定义货币格式来重现基本数值格式:
SET CCA="-,,,". /* 与 COMMA 相同。
SET CCB="-...". /* 与 DOT 相同。
SET CCC="-,$,,". /* 与 DOLLAR 相同。
SET CCD="-,,%,". /* 类似于 PCT,但以逗号分组。
下面是一些自定义货币格式的更多示例。最后一个示例展示了如何使用单引号来转义分隔符:
SET CCA=",EUR,,-". /* 欧元。
SET CCB="(,USD ,,)". /* 美元。
SET CCC="-.R$..". /* 巴西雷亚尔。
SET CCD="-,, NIS,". /* 以色列谢克尔。
SET CCE="-.Rp'. ..". /* 印度尼西亚卢比。
这些格式将产生如下输出:
| Format | 3145.59 | -3145.59 |
|---|---|---|
| CCA12.2 | EUR3,145.59 | EUR3,145.59- |
| CCB14.2 | USD 3,145.59 | (USD 3,145.59) |
| CCC11.2 | R$3.145,59 | -R$3.145,59 |
| CCD13.2 | 3,145.59 NIS | -3,145.59 NIS |
| CCE10.0 | Rp. 3.146 | -Rp. 3.146 |
所有自定义货币格式的默认值都是‘-,,,’,等价于 COMMA 格式。