Funkcióblokk STR_FORMAT

A Funkcióblokk STR_FORMAT egy formázott karakterláncot ad vissza.

Ez a funkcióblokk megfelel a C++-ban található sprintf függvénynek.

Megjegyzés: Ez a funkcióblokk több mint két bemenetet is tartalmazhat. Jobb egérgombbal kattintva a funkcióblokra további bemenetet adhat hozzá.

Formátum Bevitel

A bevitel meghatározza a formázást. Ez egy vagy több utasításból áll össze: normális karakterek (kivéve %), amelyek közvetlenül másolódnak az eredménybe, és konvertálási utasítások, amelyek saját paramétereiket használják.

Az utasítás a következő prototípus szerint működik:

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

Egy egész szám, amelyet egy dollárjelet ($) követ, és megadja azokat a STR# bemenetek számát, amelyek a konverzióhoz használatosak.

Flags
Flag Leírás
- Balra igazítva a megadott mezőszélességben; jobbra igazítás az alapértelmezett
+ Pozitív számok egy pluszjellel (+); alapértelmezetten csak a negatív számokat adják ki negatív előjellel
(Szóköz) Az eredményt szóközzel tölti fel. Ez az alapértelmezett.
0 Balra nullákkal tölti fel. Az s specifikátorral jobbra is nullákkal lehet kitölteni.
'(Karakter) Az eredményt a megadott karakterrel tölti fel.
Weite

Egy egész szám, amely azt határozza meg, hogy a konvertálási eredmény hány karaktert (minimum) tartalmazzon.

Präzision

A pont (. ) után következő egész szám jelentése függ a specifikátortól:

  • Az e, E, f és F specifikátorok esetén: ez azt határozza meg, hogy hány tizedesjegyet adjanak ki a tizedespont után (alapértelmezett értéke 6).
  • A g és G specifikátorok esetén: a legfeljebb kiírandó jelentős tizedesjegyek száma.
  • Az s specifikátornál: úgy viselkedik, mint egy levágási pont, amely megadja a karakterlánc maximális hosszát.

Megjegyzés: Ha a pontot nem követi egy kifejezett érték a Präzisionnak, akkor 0-t feltételez.

Spezifizierer
Spezifizierer Leírás
% Egy százalékjel. Nincs szükség paraméterre.
b A paramétert egész számként kezelik és bináris számként adják ki.
c A paramétert egész számként kezelik és ASCII karakterkészletből származó karakterként adják ki.
d A paramétert egész számként kezelik és előjelű decimális számként adják ki.
e A paramétert tizedes számként kezelik (pl. 1,2e+2). A Präzision megadja a tizedespont után lévő karakterek számát.
E Mint az e specifikátor, de nagybetűt ír (pl. 1,2E+2).
f A paramétert lebegőpontos számként kezelik és lebegőpontos számként adják ki (lokálisan függően).
F A paramétert lebegőpontos számként kezelik és lebegőpontos számként adják ki (lokálisan nem függően).
g Általános formátum.
Legyen P a Präzision, ha nem nulla, 6, ha a Präzision nincs megadva vagy 1, ha a Präzision nulla. Akkor, ha egy konvertálás E specifikátorral X exponentet eredményezett:
Ha P > X ≥ –4, akkor a konvertálás f specifikátorral és P - (X + 1) Präzisionnal történik. Különben, mint e specifikátorral és P - 1 Präzisionnal.
G Mint a g specifikátor, de E és F használatával.
o A paramétert egész számként kezelik és oktális számként adják ki.
s A paramétert karakterláncként kezelik és adják ki.
u A paramétert egész számként kezelik és előjel nélküli decimális számként adják ki.
x A paramétert egész számként kezelik és hexadecimális számként adják ki (kiscarakterekkel).
X A paramétert egész számként kezelik és hexadecimális számként adják ki (nagyscarakterekkel).

Figyelmeztetés: Az c specifikátor figyelménybe veszi a kitöltést és a Weite-t.

Figyelem: A karakterláncok Weite-specifikációjának használata és a karakterkészletek, amelyek több mint egy bájtot várnak karakterenként, előre nem látható eredményeket eredményezhetnek.

A változókat átalakítják egy specifikátornak megfelelő típusra:

Typ Spezifizierer
Karakterlánc s
Integer d, u, c, o, x, X, b
Float g, G, e, E, f, F

STR1..STR# Bevitel

A bevitel vagy a több bevitel meghatározza azokat az értékeket, amelyek a FORMAT bevitelen megadott karakterláncban kellene helyettesíteni.

Kimenet

A generált karakterláncot adja vissza.