功能區塊 STR_FORMAT

功能區塊 STR_FORMAT 會回傳一個格式化的字串。

此功能區塊對應於 C++ 中的 sprintf 函數。

注意: 此功能區塊可以擁有超過兩個輸入。您可以使用滑鼠右鍵點擊功能區塊,以新增另一個輸入。

輸入 FORMAT

輸入定義了格式化方式。它由零個或多個指令組成:普通字元(除了 %)會直接複製到結果中,以及轉換指令,每個都有自己的參數。

此時,轉換指令遵循以下原型:

%[ArgNum$][Flags][Weite][.Präzision]Spezifizierer.
ARGNUM

一個整數後面跟著一個美元符號 $,表示要用於轉換的輸入 STR# 的編號。

FLAGS
FLAG 描述
- 在指定的欄寬內左對齊;右對齊是預設值
+ 正數會以加號 + 表示;預設情況下,只有負數會顯示負號
(空格) 用空格填充結果。這是預設值。
0 從左側用零填充。使用 s 指定器也可以從右側用零填充。
'(字元) 用指定的字元填充結果。
WEITE

一個整數,表示轉換結果應該有多少字元(最小值)。

PRÄZISION

點 . 後面跟著一個整數的意義取決於指定器:

  • 對於 e、E、f 和 F 指定器:這表示應該在小數分隔符號後顯示多少位小數(預設值為 6)。
  • 對於 g 和 G 指定器:要輸出的最大有效小數位數。
  • 對於 s 指定器:行為類似於一個截斷點,指定字串中的最大字元數。

注意: 如果點沒有明確的精度值被指定,則假設為 0。

SPEZIFIZIERER
SPEZIFIZIERER 描述
% 一個百分比符號。不需要參數。
b 參數被視為整數並輸出為二進制數字。
c 參數被視為整數並輸出為 ASCII 字元集中的字元。
d 參數被視為整數並輸出為(帶符號的)十進制數字。
e 參數被視為科學記法中的數字(例如 1.2e+2)。精度指定表示小數點後的位數。
E 與 e 指定器相同,但寫入大寫字母(例如 1.2E+2)。
f 參數被視為浮點數並輸出為浮點數(取決於區域設定)。
F 參數被視為浮點數並輸出為浮點數(不依賴於區域設定)。
g 一般格式。
P 是精度,如果非零,則為 6,如果未指定精度或精度為零時則為 1。然後,如果通過 E 的轉換將具有 X 指數:
如果 P > X ≥ -4,則使用 f 指定器和精度 P - (X + 1)。否則與 e 指定器和精度 P - 1 一樣。
G 與 g 指定器相同,但使用 E 和 F。
o 參數被視為整數並輸出為八進制數字。
s 參數被視為字串並輸出。
u 參數被視為整數並輸出為無符號的十進制數字。
x 參數被視為整數並輸出為十六進制數字(使用小寫字母)。
X 參數被視為整數並輸出為十六進制數字(使用大寫字母)。

注意: 指定器 c 忽略填充和欄寬。

警告: 試圖使用字串與寬度指定器的組合和預期每個字元多於一個位元組的字符集,會導致不可預測的結果。

變數會轉換為適合指定器的類型:

TYPE SPEZIFIZIERER
字串 s
整數 d, u, c, o, x, X, b
浮點數 g, G, e, E, f, F

輸入 STR1..STR#

輸入或多個輸入定義了要替換指定字串的值,該字串在輸入 FORMAT 中。

輸出

回傳生成的字串。