# MoneyFormat

此系统变量定义 Qlik 用于将文本自动转换为数字的格式模式，其中数字以货币符号为前缀。它还定义了数字格式属性设置为“货币”的度量将如何显示在图表对象中。

`MoneyFormat` 系统变量中定义为格式模式一部分的符号将替换由区域设置设定的货币符号。

提示注释

默认情况下，Qlik Sense 在表格图表中以不同的方式显示数字和文本。数字右对齐，文本左对齐。这使得查找文本到数字的转换问题变得很容易。显示 Qlik Sense 结果的此页面上，所有表都将使用此格式。

语法：

MoneyFormat

` Set MoneyFormat='$ #,##0.00; ($ #,##0.00)';  `

当数值字段的 `Number Formatting` 属性设置为 `Money` 时，此格式设定将显示在图表对象中。此外，当 Qlik Sense 解释数字文本字段时，如果文本字段的货币符号与 `MoneyFormat` 变量中定义的符号的货币符号匹配，则 Qlik Sense 将此字段解释为货币值。

此函数通常与以下函数一起使用：

相关函数

| 函数 | 交互 |
| --- | --- |
| [MoneyDecimalSep](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.htm) | 对于数字格式设定，`MoneyDecimalSep` 将用于对象的字段格式设定。 |
| [MoneyThousandSep](https://help.qlik.com/zh-CN/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyThousandSep.htm) | 对于数字格式设定，`MoneyThousandSep` 将用于对象的字段格式设定。 |

## 区域设置

除非另有规定，本主题中的示例使用以下日期格式：MM/DD/YYYY。日期格式已经在数据加载脚本中的 `SET DateFormat` 语句中指定。由于区域设置和其他因素，系统中的默认日期格式可能有所不同。您可以更改以下示例中的格式以满足您的要求。或者，您可以更改加载脚本中的格式以匹配这些示例。

应用程序中的默认区域设置基于安装 Qlik Sense 的计算机或服务器的区域系统设置。如果您访问的 Qlik Sense 服务器设置为瑞典，则数据加载编辑器将使用瑞典地区设置的日期、时间和货币。这些区域格式设置与 Qlik Sense 用户界面中显示的语言无关。Qlik Sense 将以与您使用的浏览器相同的语言显示。

## 示例 1 - MoneyFormat

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyFormat.htm)

#### 加载脚本和结果

概述

打开数据加载编辑器，并将下面的加载脚本添加到新选项卡。

加载脚本包含一个数据集，该数据集加载到名为 `Transactions` 的表中。使用了默认 `MoneyFormat` 变量定义。

加载脚本

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$###0.00;-$###0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,$10000000441
01/02/2022,2,$21237492432
01/03/2022,3,$249475336
01/04/2022,4,$24313369837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* `date`

* `amount`

添加该度量：

`=Sum(amount)`

在数字格式设定下，选择货币以配置 `Sum(amount)` 为货币值。

结果表

| date | 金额 | =Sum(amount) |
| --- | --- | --- |
| 总计 |  | $165099674156.00 |
| 01/01/2022 | $10000000441 | $10000000441.00 |
| 01/02/2022 | $21237492432 | $21237492432.00 |
| 01/03/2022 | $249475336 | $249475336.00 |
| 01/04/2022 | $24313369837 | $24313369837.00 |
| 01/05/2022 | $7873578754 | $7873578754.00 |
| 01/06/2022 | $24313884663 | $24313884663.00 |
| 01/07/2022 | $545883436 | $545883436.00 |
| 01/08/2022 | $35545828255 | $35545828255.00 |
| 01/09/2022 | $37565817436 | $37565817436.00 |
| 01/10/2022 | $3454343566 | $3454343566.00 |

使用了默认 `MoneyFormat` 定义。此项的格式为：`$###0.00;-$###0.00`. 在结果表中，`amount` 字段的格式显示货币符号，小数点和小数位已包含在内。

## 示例 2 - 具有千位分隔符和混合输入格式的 MoneyFormat

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyFormat.htm)

#### 加载脚本和结果

概述

打开数据加载编辑器，并将下面的加载脚本添加到新部分。

加载脚本包含：

* 一个混合输入格式的数据集，它被加载到一个名为 `Transactions` 的表中，其中散布着数千个分隔符和十进制分隔符。

* `MoneyFormat` 定义的修改被修改为包含逗号作为千位分隔符。

* 其中一行数据错误地在错误的位置用数千个逗号分隔。请注意，该金额是如何保留为文本而不能解释为数字的。

加载脚本

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat = '$#,##0.00;-$#,##0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,'$10,000,000,441.45'
01/02/2022,2,'$212,3749,24,32.23'
01/03/2022,3,$249475336.45
01/04/2022,4,$24,313,369,837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];		
```

结果

加载数据并打开工作表。创建新表并将这些字段添加为维度：

* `date`

* `amount`

添加该度量：

`=Sum(amount)`

在数字格式设定下，选择货币以配置 `Sum(amount)` 为货币值。

结果表

| date | 金额 | =Sum(amount) |
| --- | --- | --- |
| 总计 |  | $119,548,811,911.90 |
| 01/01/2022 | $10,000,000,441.45 | $10,000,000,441.45 |
| 01/02/2022 | $212,3749,24,32.23 | $0.00 |
| 01/03/2022 | $249475336.45 | $249,475,336.45 |
| 01/04/2022 | $24 | $24.00 |
| 01/05/2022 | $7873578754 | $7,873,578,754.00 |
| 01/06/2022 | $24313884663 | $24,313,884,663.00 |
| 01/07/2022 | $545883436 | $545,883,436.00 |
| 01/08/2022 | $35545828255 | $35,545,828,255.00 |
| 01/09/2022 | $37565817436 | $37,565,817,436.00 |
| 01/10/2022 | $3454343566 | $3,454,343,566.00 |

在脚本的开头，`MoneyFormat` 系统变量被修改为包含一个逗号作为千位分隔符。在 Qlik Sense 表格中，可以看到格式设定包括此分隔符。此外，带有错误分隔符的行未被正确解释，并保留为文本。这就是为什么它对总额没有贡献的原因。