# Num# - 脚本和图表函数

Num() 将文本字符串解释为数值，即使用第二个参数中指定的格式将输入字符串转换为数字。如果省略第二个参数，它将使用数据加载脚本中设置的小数点和千位分隔符。自定义小数位和千分位分隔符的符号为可选参数。

语法：

Num#(text[, format[, dec\_sep [, thou\_sep ] ] ])

返回数据类型： 双

Num#() 函数返回同时包含字符串和数字值的双重值。函数接受输入表达式的文本表示并生成一个数字。它不会改变数字的格式：输出的格式与输入的格式相同。

参数：

参数

| 参数 | 描述 |
| --- | --- |
| text | 可以计算文本字符串值。 |
| format | 指定第一个参数中使用的数字格式的字符串。如果省略，则使用数据加载脚本中设置的十进制和千位分隔符。 |
| dec\_sep | 指定小数位数字分隔符的字符串。如果省略，则使用数据加载脚本中设置的变量 DecimalSep 的值。 |
| thou\_sep | 指定千分位数字分隔符的字符串。如果省略，则使用数据加载脚本中设置的变量 ThousandSep 的值。 |

下表显示不同 A 值的 Num#( A, '#', '.' , ',') 的结果。

示例：图表表达式

| 示例 | Result (String) | Result (Number) |
| --- | --- | --- |
| `Num#( '35,648.31', '#', '.' , ',' )` | `35,648.31` | `35648.31` |
| `Num#( ‘35 648.312’, '#', '.' , ',' )` | `35 648.312` | `35648.312` |
| `Num#( '35.648,3123', '#', '.' , ',' )` | `35.648,3123` | `-` |
| `Num#( '35 648,31234', '#', '.' , ',' )` | `35 648,31234` | `-` |
| `Num#('1,234.56', '#,##0.00')` | `1,234.56` | `1234.56` |
| `Num#('$1,230.45', '$#,##0.00')` | `$1,230.45` | `1230.45` |
| `Num#('20220315', 'YYYYMMDD')` | `20220315` | `20220315` |

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

#### 示例和结果：

下表显示不同 A 值的 Num#( A, '#', '.' , ',') 的结果。

结果

| A | 字符串形式 | 数值（此处以小数点显示） |
| --- | --- | --- |
| 35,648.31 | 35,648.31 | 35648.31 |
| 35 648.312 | 35 648.312 | 35648.312 |
| 35.648,3123 | 35.648,3123 | - |
| 35 648,31234 | 35 648,31234 | - |