Blok funkce STR_FORMAT

Blok funkce STR_FORMAT vrací formátovaný řetězec.

Tento blok funkce odpovídá funkci sprintf v C++.

Poznámka: Tento blok funkce může mít více než dva vstupy. Můžete kliknout pravým tlačítkem myši na blok funkce, aby jste přidali další vstup.

Vstup Formát

Vstup definuje formátování. Skládá se z žádného nebo více pokynů: Normální znaky (s výjimkou %) jsou přímo kopírovány do výsledku a pokyny pro převod, které každý získávají své vlastní parametry.

Příkaz pro převod má následující prototyp:

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

Celé číslo následované znakem dolaru $, které udává číslo vstupu STR#, který má být použit pro převod.

Příznaky
Příznak Popis
- Zarovnání vlevo uvnitř uvedené šířky pole; Zarovnání vpravo je výchozí
+ Kladné čísla s plusovým znaménkem +; Výchozí jsou pouze záporná čísla vypsána se záporným znaménkem
(Mezeru) Vyplňuje výsledek mezerami. Toto je výchozí.
0 Doplňuje vlevo nulami. S specifikátorem s lze také doplnit vpravo nulami.
'(Znak) Vyplňuje výsledek uvedeným znakem.
Šířka

Celé číslo, které udává, kolik znaků (minimum) by měl mít převodní výsledek.

Přesnost

Význam tečky . následované celým číslem závisí na specifikátoru:

  • Pro specifikátory e, E, f a F: Toto nastavuje počet desetinných míst, které mají být vypsány za desetinnou čárkou (výchozí je 6).
  • Pro specifikátory g a G: Maximální počet významných desetinných míst k výpisu.
  • Pro specifikátor s: Chová se jako ořezávací bod, který udává maximální počet znaků v řetězci.

Poznámka: Pokud je tečka uvedena bez explicitní hodnoty pro přesnost, předpokládá se 0.

Specifikátory
Specifikátor Popis
% Znak procenta. Nebo žádný parametr nutný.
b Parametr je považován za celé číslo a vypsán jako binární číslo.
c Parametr je považován za celé číslo a vypsán jako znak z ASCII.
d Parametr je považován za celé číslo a vypsán jako (záporné) desetinné číslo.
e Parametr je považován za číslo v exponentiálním zápisu (např. 1,2e+2). Uvedení přesnosti znamená počet znaků za desetinnou tečkou.
E Stejně jako specifikátor e, ale píše velké písmeno (např. 1,2E+2).
f Parametr je považován za desetinné číslo a vypsán jako desetinné číslo (v závislosti na lokále).
F Parametr je považován za desetinné číslo a vypsán jako desetinné číslo (nezávisle na lokáli).
g Obecný formát.
Buď P přesnost, pokud není nula, 6 pokud není uvedena přesnost nebo 1 pokud je přesnost nula. Pak, pokud by konverze pomocí E měla exponent X:
Pokud P > X ≥ −4 je konverze se specifikátorem f a přesností P - (X + 1). Jinak jako se specifikátorem e a přesností P - 1.
G Stejně jako specifikátor g, ale používá E a F.
o Parametr je považován za celé číslo a vypsán jako osmičkové číslo.
s Parametr je považován jako řetězec a vypsán.
u Parametr je považován za celé číslo a vypsán jako bezznačkové desetinné číslo.
x Parametr je považován za celé číslo a vypsán jako hexadecimální číslo (s malými písmeny).
X Parametr je považován za celé číslo a vypsán jako hexadecimální číslo (s velkými písmeny).

Pozor: Specifikátor c ignoruje doplňování a šířku.

Varování: Pokus o použití kombinace řetězců s šířkovým specifikátorem a znakovými sadami, které očekávají více než jeden byte na znak, vede k nepředvídatelným výsledkům.

Proměnné jsou přeměněny na typ vhodný pro specifikátor:

Typ Specifikátor
Řetězec s
Integer d, u, c, o, x, X, b
Float g, G, e, E, f, F

Vstup STR1..STR#

Vstup nebo více vstupů definuje příslušnou hodnotu k nahrazení v uvedeném řetězci na vstupu FORMAT.

Výstup

Vrací generovaný řetězec.