Funktionsblock STR_FORMAT

Funktionsblocket STR_FORMAT returnerar en formaterad sträng.

Detta funktionsblock motsvarar funktionen sprintf i C++.

Anmärkning: Detta funktionsblock kan ha mer än två ingångar. Du kan högerklicka på funktionsblocket för att lägga till en ytterligare ingång.

Ingång Format

Ingången definierar formateringen. Den består av noll eller flera instruktioner: Vanliga tecken (förutom %), som kopieras direkt till resultatet och konverteringsinstruktioner, som var och en hämtar sina egna parametrar.

Där följer konverteringsinstruktionen följande prototyp:

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

En heltal följt av ett dollartecken $, som anger numret på ingången STR# som ska användas för konverteringen.

Flags
Flagga Beskrivning
- Vänsterjusterad inom den angivna fältbredden; Högerjustering är standard.
+ Positiva tal med ett plustecken +; Standardmässigt ges endast negativa tal med negativa tecken ut.
(Mellanslag) Fyller resultatet med mellanslag. Detta är standarden.
0 Fyller till vänster med nollor. Med s-specifikatorn kan detta också fylla till höger med nollor.
'(Tecken) Fyller resultatet med det angivna tecknet.
Weite

Ett heltal som anger hur många tecken (minimum) konverteringsresultatet ska ha.

Präzision

Betydelsen av en punkt . följt av ett heltal beror på specifikatorn:

  • För specifikatorerna e, E, f och F: Detta anger antalet decimaler som ska skrivas ut efter decimaltecknet (standardmässigt är detta 6).
  • För specifikatorerna g och G: Den maximala antalet signifikanta decimaler som ska skrivas ut.
  • För s-specifikatorn: Bete sig som en avskärningspunkt, som anger ett maximum antal tecken i strängen.

Anmärkning: Om punkten anges utan ett explicit värde för precisionen antas 0.

Spezifizierer
Specifikator Beskrivning
% Ett procenttecken. Ingen parameter nödvändig.
b Parametern behandlas som ett heltal och skrivs ut som en binär siffra.
c Parametern behandlas som ett heltal och skrivs ut som ett tecken från ASCII-teckensnittet.
d Parametern behandlas som ett heltal och skrivs ut som en (teckenbunden) decimaltal.
e Parametern behandlas som ett tal i vetenskaplig notation (t.ex. 1,2e+2). Angivandet av precisionen står för antalet tecken efter decimalpunkten.
E Som specifikatorn e, men skriver en stor bokstav (t.ex. 1,2E+2).
f Parametern behandlas som ett flyttal och skrivs ut som ett flyttal (beroende på Locale).
F Parametern behandlas som ett flyttal och skrivs ut som ett flyttal (oberoende av Locale).
g Allmänt format.
Låt P vara precisionen, om inte noll, 6 om precisionen inte anges eller 1 om precisionen är noll. Då, om en konvertering med E skulle ha ett exponent av X:
Om P > X ≥ -4 är konverteringen med specifikatorn f och precisionen P - (X + 1). Annars som med specifikatorn e och precisionen P - 1.
G Som specifikatorn g, men E och F används.
o Parametern behandlas som ett heltal och skrivs ut som en oktal siffra.
s Parametern behandlas som en sträng och skrivs ut.
u Parametern behandlas som ett heltal och skrivs ut som en teckenlös decimaltal.
x Parametern behandlas som ett heltal och skrivs ut som en hexadecimal siffra (med små bokstäver).
X Parametern behandlas som ett heltal och skrivs ut som en hexadecimal siffra (med stora bokstäver).

Varning: Specifikatorn c ignorerar fyllning och bredd.

Varning: Försöket att använda kombinationen av strängbreddspecifikationer och teckensnitt som förväntar sig mer än ett byte per tecken leder till oförutsägbara resultat.

Variabler konverteras till en typ som passar specifikatorn:

Typ Specifikator
Sträng s
Integer d, u, c, o, x, X, b
Float g, G, e, E, f, F

Ingång STR1..STR#

Ingången eller de flera ingångarna definierar det respektive värde som ska ersättas i den angivna strängen vid ingången FORMAT.

Utgång

Returnerar den genererade strängen.