# MoneyDecimalSep

定义的货币小数分隔符将替换由区域设置设定的小数位符号。

提示注释

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

语法：

MoneyDecimalSep

Qlik Sense 应用程序将符合此格式的文本字段解释为货币值。文本字段必须包含 `MoneyFormat` 系统变量中定义的货币符号。`MoneyDecimalSep` 在处理从多个不同区域设置接收的数据源时特别有用。

以下示例显示了 `MoneyDecimalSep` 系统变量的可能用法：

`Set MoneyDecimalSep='.';`

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

相关函数

| 函数 | 交互 |
| --- | --- |
| `MoneyFormat` | 在文本字段解释的情况下，`MoneyFormat` 符号将用作解释的一部分。对于数字格式，图表对象中的 Qlik Sense 将使用 `MoneyFormat` 格式设定。 |
| `MoneyThousandSep` | 在文本字段解释的情况下，还必须遵守 `MoneyThousandSep` 函数。 |

## 区域设置

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

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

## 示例 1 - MoneyDecimalSep dot (.) 表示法

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.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,'$14.41'
01/02/2022,2,'$2,814.32'
01/03/2022,3,'$249.36'
01/04/2022,4,'$24.37'
01/05/2022,5,'$7.54'
01/06/2022,6,'$243.63'
01/07/2022,7,'$545.36'
01/08/2022,8,'$3.55'
01/09/2022,9,'$3.436'
01/10/2022,10,'£345.66'
];					
```

结果

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

添加以下度量：

* `isNum(amount)`

* `sum(amount)`

查看下面的结果，仅证明对所有美元 ‘$’ 值的正确解释。

结果表

| 金额 | =isNum(amount) | =Sum(amount) |
| --- | --- | --- |
| 总计 | 0 | $3905.98 |
| £345.66 | 0 | $0.00 |
| $3.436 | -1 | $3.44 |
| $3.55 | -1 | $3.55 |
| $7.54 | -1 | $7.54 |
| $14.41 | -1 | $14.41 |
| $24.37 | -1 | $24.37 |
| 243.63 | -1 | $243.63 |
| $249.36 | -1 | $249.36 |
| $545.36 | -1 | $545.36 |
| $2,814.32 | -1 | $2814.32 |

上面的结果表显示了如何正确解释所有美元 ($) 前缀值的 `amount` 字段，而英镑（£）前缀的 `amount` 尚未转换为货币值。

## 示例 2 - MoneyDecimalSep 逗号 (,) 表示法

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.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,'$14,41'
01/02/2022,2,'$2.814,32'
01/03/2022,3,'$249,36'
01/04/2022,4,'$24,37'
01/05/2022,5,'$7,54'
01/06/2022,6,'$243,63'
01/07/2022,7,'$545,36'
01/08/2022,8,'$3,55'
01/09/2022,9,'$3,436'
01/10/2022,10,'$345.66'
];
```

结果

结果的段落文本。

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

添加以下度量：

* `isNum(amount)`

* `sum(amount)`

查看下面的结果，演示所有值的正确解释，除了使用点 '.' 符号作为小数点分隔符的金额。在这种情况下，应该使用逗号。

结果表

| 金额 | =isNum(amount) | =Sum(amount) |
| --- | --- | --- |
| 总计 | 0 | $3905.98 |
| $345.66 | 0 | $0.00 |
| $3,436 | -1 | $3.44 |
| $3,55 | -1 | $3.55 |
| $7,54 | -1 | $7.54 |
| $14,41 | -1 | $14.41 |
| $24,37 | -1 | $24.37 |
| $243,63 | -1 | $243.63 |
| $249,36 | -1 | $249.36 |
| $545,36 | -1 | $545.36 |
| $2.814,32 | -1 | $2814.32 |