# Num - 指令碼與圖表函數

Num() 格式化數字，亦即使用第二參數指定的格式將輸入的數值轉換為顯示文字。若省略第二參數，這會使用資料載入指令碼中設定的小數點和千位分隔符號。自訂小數與千位分隔符號是選用參數。

語法：

Num(number[, format[, dec\_sep [, thou\_sep]]])

傳回的資料類型： 雙值

此 Num 函數會傳回含有字串和數值的雙值。這些函數採用輸入運算式的數值，並產生代表數字的字串。

引數：

引數

| 引數 | 描述 |
| --- | --- |
| number | 要格式設定的數字。 |
| format | 指定如何對所產生字串格式化的字串。如果省略，會使用資料載入指令碼中設定的小數點和千位分隔符號。 |
| dec\_sep | 指定小數點位數分隔符號的字串。如果省略，則會使用資料載入指令碼中設定的變數 DecimalSep 的值。 |
| thou\_sep | 指定千位分隔符號的字串。如果省略，則會使用資料載入指令碼中設定的變數 ThousandSep 的值。 |

如需數字格式化的詳細資訊，請參閱[數字和時間格式的慣例](https://help.qlik.com/zh-TW/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Introduction/conventions-number-time-formats.htm)。

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

#### 範例：圖表運算式

範例：

下表顯示當欄位 A 等於 35648.312 時的結果。

結果

| A | 結果 |
| --- | --- |
| Num(A) | 35648.312 (根據指令碼中的環境變數) |
| Num(A, '0.0', '.') | 35648.3 |
| Num(A, '0,00', ',') | 35648,31 |
| Num(A, '#,##0.0', '.', ',') | 35,648.3 |
| Num(A, '# ##0', ',', ' ') | 35 648 |

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

#### 範例：載入指令碼

載入指令碼

Num 可用於載入指令碼，以格式化數字，即使指令碼中已設定千位和小數分隔符號。以下的載入指令碼包括特定的千位和小數分隔符號，但使用 Num 以不同的方式格式化資料。

在資料載入編輯器中，建立新的區段，然後新增範例指令碼並執行。然後，至少將結果資料行中列出的欄位新增至您應用程式中的工作表以查看結果。

```
SET ThousandSep=',';
SET DecimalSep='.';
Transactions:
Load
*,
Num(transaction_amount) as [No formatting],
Num(transaction_amount,'0') as [0],
Num(transaction_amount,'#,##0') as [#,##0],
Num(transaction_amount,'# ###,00') as [# ###,00],
Num(transaction_amount,'# ###,00',',',' ') as [# ###,00 , ',' , ' '],
Num(transaction_amount,'#,###.00','.',',') as [#,###.00 , '.' , ','],
Num(transaction_amount,'$#,###.00') as [$#,###.00],
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 20180830, 12423.56, 23, 0,2038593, L, Red
3751, 20180907, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180916, 15.75, 1, 0.22, 5646471, S, blue
3753, 20180922, 1251, 7, 0, 3036491, l, Black
3754, 20180922, 21484.21, 1356, 75, 049681, xs, Red
3756, 20180922, -59.18, 2, 0.333333333333333, 2038593, M, Blue
3757, 20180923, 3177.4, 21, .14, 203521, XL, Black
];
```

Qlik SenseQlik Sense 表格顯示載入指令碼中 NumNum 函數的不同使用方式的結果。表格的第四欄包含不正確的格式使用，例如用途。

| No formatting | 0 | #,##0 | # ###,00 | # ###,00 , ',' , ' ' | #,###.00 , '.' , ',' | $#,###.00 |
| --- | --- | --- | --- | --- | --- | --- |
| -59.18 | -59 | -59 | -59###,00 | -59,18 | -59.18 | $-59,18 |
| 15.75 | 16 | 16 | 16###,00 | 15,75 | 15.75 | $15,75 |
| 1251 | 1251 | 1,251 | 1251###,00 | 1 251,00 | 1,251.00 | $1,251.00 |
| 3177.4 | 3177 | 3,177 | 3177###,00 | 3 177,40 | 3,177.40 | $3,177.40 |
| 5356.31 | 5356 | 5,356 | 5356###,00 | 5 356,31 | 5,356.31 | $5,356.31 |
| 12423.56 | 12424 | 12,424 | 12424###,00 | 12 423,56 | 12,423.56 | $12,423.56 |
| 21484.21 | 21484 | 21,484 | 21484###,00 | 21 484,21 | 21,484.21 | $21,484.21 |

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

#### 範例：載入指令碼

載入指令碼

Num 可用於載入指令碼，以百分比格式化數字。

在資料載入編輯器中，建立新的區段，然後新增範例指令碼並執行。然後，至少將結果資料行中列出的欄位新增至您應用程式中的工作表以查看結果。

```
SET ThousandSep=',';
SET DecimalSep='.';
Transactions:
Load
*,
Num(discount,'#,##0%') as [Discount #,##0%]
;
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, discount, customer_id, size, color_code
3750, 20180830, 12423.56, 23, 0,2038593, L, Red
3751, 20180907, 5356.31, 6, 0.1, 203521, m, orange
3752, 20180916, 15.75, 1, 0.22, 5646471, S, blue
3753, 20180922, 1251, 7, 0, 3036491, l, Black
3754, 20180922, 21484.21, 1356, 75, 049681, xs, Red
3756, 20180922, -59.18, 2, 0.333333333333333, 2038593, M, Blue
3757, 20180923, 3177.4, 21, .14, 203521, XL, Black
];
```

Qlik SenseQlik Sense 表格顯示載入指令碼中使用的 NumNum 函數結果，以格式化百分比。

| Discount | Discount #,##0% |
| --- | --- |
| 0.333333333333333 | 33% |
| 0.22 | 22% |
| 0 | 0% |
| .14 | 14% |
| 0.1 | 10% |
| 0 | 0% |
| 75 | 7,500% |