Textfunktionen
- Aktualisiert2026-07-22
- 5 Minute(n) Lesezeit
Verwenden Sie Textfunktionen wie text und sprintf, um Strings zu bearbeiten und zu analysieren.
Beispiel: Textfunktionen
real64 r = 0.123 text t(10) = text(r, "%.2f")
sprintf-Funktionen
Mit der Funktion sprintf können Sie Text ohne Formatierung in eine Textvariable schreiben. Die Funktion sprintf ist eine Alternative zum Verknüpfungsoperator +.
Die Syntax lautet:
Target variable = sprintf (formatstring, arguments,...)
Der Datentyp der Zielvariablen muss text sein. Der Format-String kann Formatierungscodes enthalten. Wenn keine Formatierungscodes verwendet werden, werden keine Argumente angegeben.
Beispiel: Gültige Anweisungen
program
text textVariable(20)
text textVariable2(20) = "Hello World"
textVariable1 = sprintf("Constant text")
textVariable1 = sprintf("Constant text %s", textVariable2)
endprogram
Beispiel: Ungültige Anweisungen
program text textVariable(20) text formatStringVariable(20) text textVariable2(20) = "Hello World" textVariable1 = sprintf(formatStringVariable, textVariable2) textVariable1 = sprintf(textVariable2) endprogram
Formatieren von Codes für sprintf
Stellen Sie den Zeichen ein %-Zeichen voran.
| Zeichen | Bedeutung |
|---|---|
| Minuszeichen ( - ) | Linksbündige Ausgabe. |
| Pluszeichen ( + ) | Fügt dem Ergebnis ein Präfix hinzu, wenn eine Zahl erzeugt wird. |
| Leer | Stellt dem Ergebnis ein Leerzeichen voran, wenn das Ergebnis positiv und linksbündig ist. Wird ignoriert, wenn Sie Leerzeichen und + angeben. |
| Hash ( # ) | Der Hash verhält sich vor jedem Ergebnis, das ungleich Null ist, wie folgt:
|
| Dezimal-String (mit und ohne Punkt) |
Ein Dezimal-String bestimmt die Anzahl der zu erzeugenden Zeichen. Die genaue Bedeutung hängt vom zu erzeugenden Datentyp ab. Folgende Regel gilt für alle Ausgaben von Texten:
Die Formatregel gilt für die Ausgabe von Integer in den Formaten d, i, o, u, x und X.
Bei der Ausgabe reeller Werte definiert der Dezimal-String die Gesamtlänge und bestimmt die Genauigkeit. Reelle Werte sind e, f und g.
|
| Sternchen (*) | Ein Sternchen nach dem Prozentzeichen bedeutet, dass die Array-Länge nicht im Formatierungscode angegeben ist. Stattdessen wird die Array-Länge als zusätzlicher Integer-Wert vor dem zu formatierenden Argument angegeben. |
| d | Schreibt einen I4-Integer als vorzeichenbehaftete Dezimalzahl. |
| D | Dimension einer globalen Variablen. |
| N | Name einer globalen Variablen. |
| i | Schreibt einen I4-Integer als vorzeichenbehaftete Zahl. |
| o | Schreibt einen vorzeichenlosen U4-Integer als Oktalzahl. |
| u | Wert einer vorzeichenlosen Integer-Variablen. |
| x, X | Schreibt einen vorzeichenlosen U4-Integer als Hexadezimalzahl (abcdef) oder (ABCDEF). |
| f | Schreibt eine Fließkommazahl in Festkomma- oder Exponentialschreibweise. |
| e, E | Double R8 in wissenschaftlicher Darstellung: [-]m.ddde±xx oder [-]m.dddE±xx, wobei die Genauigkeit (siehe #) die Anzahl der Stellen nach dem Dezimalzeichen definiert. |
| g, G | Schreibt eine Fließkommazahl in Festkomma- oder Exponentialschreibweise. |
| s | Schreibt einen Text bis zum nächsten Leerzeichen. |
| c | Schreibt das nächste Zeichen. |
| % | Das Prozentzeichen wird ausgegeben. |
Modifikatoren
Modifikatoren sind optional. Modifikatoren können den Wertebereich der gelesenen oder erzeugten Werte einschränken.
| Zeichen | Bedeutung |
|---|---|
| h | Die Umwandlungszeichen d, i, o, u, x, X werden als Short-Wert verarbeitet. -32.768 bis 32.767 vorzeichenbehaftet oder 0 bis 65535 vorzeichenlos. |
| hh | Die Umwandlungszeichen d, i, o, u, x, X werden als Byte-Wert verarbeitet. -128 bis 127 vorzeichenbehaftet oder 0 bis 255 vorzeichenlos. |
| l | Die Umwandlungszeichen d, i, o, u, x, X werden als Long- und Double-Wert verarbeitet. |
| L | Die Umwandlungszeichen e, E, f, g, G werden als Long-Double-Wert verarbeitet. |
Ausgabe von Sonderzeichen
Sonderzeichen werden ohne vorangestelltes Prozentzeichen ausgegeben.
| Zeichen | Bedeutung |
|---|---|
| \<DIGIT> | Sonderzeichen werden angezeigt. Sonderzeichen müssen in Oktalschreibweise angegeben werden. Beispiel: \42 = " und \57 = /. |
| \n | Zeilenumbruch |
| \r | Zeilenvorschub |
| \t | Tabulator |
Beispiele für sprintf
Deklarationen:
text txt(40) int32 int = 65 const text info(4) = "Info" const real64real = 1234.5678
| Typ | Fmt | Beispiel | Inhalt von txt |
|---|---|---|---|
| int32 | %c | txt = sprintf( "character: %c", int ) | "character: A" |
| int32 | %u | txt = sprintf( "integer: %u", int ) | "Integer: 65" |
| int32 | %d | txt = sprintf( "integer: %d", int ) | "Integer: 65" |
| int32 | %4d | txt = sprintf( "integer: %4d", int ) | "integer: 65" |
| int32 | %04d | txt = sprintf( "integer: %04d" , int ) | "Integer: 0065" |
| int32 | %X | txt = sprintf( "hex: %X", int ) | "hex: A3" |
| real64 | %f | txt = sprintf( "number: %f", real) | "number: 1234.567800" |
| real64 | %.2f | txt = sprintf( "number: %.2f", real) | "number: 1234.57" |
| real64 | %10.2f | txt = sprintf( "number.2f", real) | "number: 1234.57" |
| real64 | %e | txt = sprintf("number: %e", real) | "number: 1.23457e+03" |
| real64 | %.2e | txt = sprintf( "number: %.2e", real) | "number: 1.23e+03" |
| real64 | %g | txt = sprintf( "number: %g", real) | "number: 1234.57" |
| real64 | %.1g | txt = sprintf( "number: %.1g", real) | "number: 1e+03" |
| real64 | %.2G | txt = sprintf( "number: %.2G", real) | "number: 1.2e+03" |
| Text | %s | txt = sprintf( "character sequence: %s", info) | "character sequence: Info" |
| Text | %% | txt = sprintf( "percent sign: %%" ) | "percent sign: %" |
Verwandte Inhalte
- Textverknüpfung
Verknüpfen Sie Texte mit Hilfe von sprintf oder dem Operator +. Der Operator ist eine einfache Möglichkeit, Text miteinander zu verknüpfen.