Verstehen Sie die Syntax der Formatbezeichner für Format-Strings, die die Ausgabe formatieren oder die Eingabe scannen.

Formatbezeichner-Syntax für Formatierungsfunktionen

Formatierungsfunktionen arbeiten mit Vollformatbezeichnersyntax:

%[$][-][+][#][^][0][Breite][.Genauigkeit∥_Signifikante Stellen][{Einheit}][<Embedded-Zeitformat>]Umwandlungscode

wobei

  • Breite muss größer als 0 sein
  • Genauigkeit oder Signifikante Stellen muss größer oder gleich 0 sein
Hinweis
  • Doppelte Klammern [] kennzeichnen optionale Elemente. Literale [] Zeichen müssen nicht in den Formatbezeichner aufgenommen werden, es sei denn, ein bestimmtes Syntaxelement erfordert sie.
  • ∥ gibt an, dass Sie bei Verwendung von .Genauigkeit oder _Signifikante Stellen eine oder andere auswählen müssen.
  • Ersetzen Sie Text in der Syntax durch ein entsprechendes Syntaxelement.

Formatbezeichner-Syntax für Scan-Funktionen

Scan-Funktionen verwenden eine vereinfachte Formatbezeichnersyntax:

%[Breite]Konvertierungscode

wobei Breite eine Zahl größer als 0 sein muss

Hinweis
  • Doppelte Klammern [] kennzeichnen optionale Elemente. Der Formatbezeichner muss keine literalen [] Zeichen enthalten.
  • Ersetzen Sie Text in der Syntax durch ein entsprechendes Syntaxelement.

Syntaxelemente für Formatbezeichner

Formatbezeichner unterstützen spezifische Syntaxelemente, mit denen festgelegt wird, wie LabVIEW-Funktionen Eingabe-Strings interpretieren und einen Ausgabe-String erzeugen. Verstehen Sie die Formatbezeichnersyntax, mit der Sie die benötigten Ausgabe-Strings erstellen können.

% Trennzeichen

Erforderliches Element, das einen Formatbezeichner beginnt.

Die Funktionen In String formatieren, In Datei formatieren, Aus String scannen und Aus Datei scannen sind erweiterbar. Diese Funktionen können mehrere Formatbezeichner im Format-String verwenden, einen für jeden Ein- oder Ausgang der Funktion.

  • Die Anzahl der Formatbezeichner im Format-String muss mit der Anzahl der Argumente der Funktion übereinstimmen.
  • Um mehrere Formatbezeichner am Eingang Format-String anzugeben, geben Sie jeden Formatbezeichner mit % an.

Steuertasten

Verwenden Sie optionale Modifikatorelemente, um die Ausgabe zu verfeinern, die ein Format-String erstellt.

Syntaxelement Formatierungsfunktion oder Scan-Funktion Beschreibung
$ Formatierung Gibt die Reihenfolge an, in der Variablen angezeigt werden sollen. Fügen Sie die Zahl, die die Variablenreihenfolge angibt, direkt vor diesem Bezeichner ein.
- Formatierung Links richtet den Parameter innerhalb seiner Breite aus, statt rechts.
+ Formatierung Schließt Vorzeichen ein, auch wenn die Zahl positiv ist.
^ Formatierung
  • Formatiert die Zahl in technischer Notation, wenn sie mit den Umwandlungscodes e oder g verwendet wird. In technischer Schreibweise ist der Exponent immer ein Vielfaches von 3.
  • Formatiert bei Verwendung mit T die Zeit in Weltzeit.
# Formatierung Entfernt abschließende Nullen. Wenn die Zahl keine Dezimalstellen hat, werden die Stellen vor dem Komma entfernt.
0 Formatierung Bei Verwendung ohne den Modifikator - werden überschüssige Leerstellen links eines numerischen Parameters mit Nullen statt mit Leerzeichen aufgefüllt, um die Mindestbreite zu erreichen.
Breite
  • Formatierung
  • Abfragen
  • Formatierungsfunktion: Breite gibt die minimale Zeichenfeldbreite des Ausgangs an. Dieser Parameter beschreibt nicht die maximale Breite. LabVIEW verwendet immer so viele Zeichen, wie für die Formatierung des Parameters notwendig sind, ohne diesen abzuschneiden. LabVIEW füllt das Feld je nach Ausrichtung links oder rechts vom Parameter mit Leerzeichen aus. Wenn der Parameter Breite fehlt oder den Wert 0 hat, ist der Ausgabewert nur so lang, wie es für den konvertierten Eingabeparameter erforderlich ist.
  • Scan-Funktion: Breite gibt die maximale Zeichenfeldbreite an. In LabVIEW wird bei der Verarbeitung des Parameters nach der maximalen Anzahl der Zeichen gesucht.
.Genauigkeit oder _Signifikante Stellen Formatierung Gibt die Anzahl der angezeigten Stellen an, wobei entweder Genauigkeit oder Signifikante Stellen eine Zahl ist.
Hinweis Genauigkeit und signifikante Stellen können nicht zusammen in einem Formatbezeichner verwendet werden.
  • .Genauigkeit: Die Zahl ist ein Genauigkeitsbezeichner für Ziffern rechts neben dem Komma. .Genauigkeit wirkt sich nur auf die Ziffern rechts neben dem Komma aus. .Genauigkeit hat die folgenden besonderen Interaktionen oder Werte:
    • Fließkommazahlen: Dieses Element legt die Anzahl der Stellen rechts neben dem Dezimalzeichen fest.
    • Fehlt der Punkt (.): verwendet LabVIEW exakt sechs Stellen.
    • Ist . gleich 0, wird in LabVIEW die Anzahl der Kommastellen nicht angegeben.
    • Wird mit String-Parametern verwendet: Gibt die maximale Breite des gescannten Felds an. Längere Strings werden vom Programm abgeschnitten.
  • _Signifikante Stellen: Die Zahl ist die Anzahl signifikanter Stellen, die im Anzeigeformat verwendet werden sollen. Stellt die Werte auf die von Ihnen festgelegte Stellenanzahl gerundet dar. Auf die Berechnung hat die Rundung keinen Einfluss. Enthält alle Ziffern außer Leerzeichen. Beispiel:
    • 3,457 hat 4 signifikante Stellen
    • 0,0012 hat 2 signifikante Stellen
    • 123000 hat 3 signifikante Stellen

    NI empfiehlt, Signifikante Stellen je nach Zahlentyp auf folgende Werte zu setzen:

    • Fließkommazahlen mit einfacher Genauigkeit: [1, 6]
    • Fließkommazahlen mit doppelter und erweiterter Genauigkeit: [1, 13]
{Einheit} Formatierung Überschreibt die ursprüngliche Einheit eines VIs, wenn Sie mit Hilfe einer Funktion eine physikalische Größe umwandeln. Sie müssen eine passende Einheit verwenden.
Hinweis Dieses Syntaxelement gilt nur für die Funktion In String formatieren.
<Embedded-Zeitformat> Formatierung Enthält einen zeitabhängigen Format-String für die Umwandlungscodes T (absolute Zeit) und t (relative Zeit). Gültige eingebettete Zeitformat-Strings finden Sie unter Zeitspezifische Formatcodes.

Konvertierungscodes

Zeichen, die angeben, wie Parameter gesucht oder formatiert werden sollen. Erforderliche Elemente für beide Scanfunktionen und Formatierungsfunktionen.

Konvertierungscodes arbeiten in erster Linie mit einem bestimmten Datentyp, können aber mehrere Datentypen interpretieren.

Konvertierungscodes für Zahlen

Konvertierungscode Unterstützte Zahlen Beschreibung
x
  • Integer
  • Festkommawerte
Hexadezimaler Integer (zum Beispiel B8).
o
  • Integer
  • Festkommawerte
Oktaler Integer (zum Beispiel 701).
b
  • Integer
  • Festkommawerte
Binärer Integer (zum Beispiel 1011).
d
  • Integer
  • Festkommawerte
Vorzeichenbehafteter dezimaler Integer.
u
  • Integer
  • Festkommawerte
Vorzeichenloser dezimaler Integer.
f
  • Fließkommazahlen
  • Festkommawerte
Fließkommazahl in Dezimalschreibweise (zum Beispiel 12,345).
e
  • Fließkommazahlen
  • Festkommawerte
Fließkommazahl in wissenschaftlicher Darstellung (zum Beispiel 1,234E1).
g
  • Fließkommazahlen
  • Festkommawerte
Automatische Formatierung. Je nach Exponent der Zahl wird f oder e verwendet.
  • Der Exponent ist größer als –4 oder kleiner als die angegebene Genauigkeit: verwendet f
  • Der Exponent ist kleiner als –4 oder größer als die angegebene Genauigkeit: verwendet e
p
  • Fließkommazahlen
  • Festkommawerte
Fließkommazahl in SI-Schreibweise.
Hinweis Konvertierungscodes für Zahlen können andere Datentypen wie folgt interpretieren:
  • Boolesche Werte: 0 steht für FALSE, 1 für TRUE
  • Enums: Interpretiert den numerischen Indexwert des Enum-Elements

Konvertierungscodes für Strings

Konvertierungscode Beschreibung
s String (zum Beispiel abc)
  • Beim Suchen nach einem String kann s nur bis zum nächsten nicht darstellbaren Zeichen verglichen werden.
  • Ein Leerzeichen wird als mindestens ein nicht darstellbares Zeichen interpretiert Um einen String zu durchsuchen, der nicht darstellbare Zeichen enthalten kann, verwenden Sie die Konvertierungscodes für die Suche nach bestimmten Zeichen. Geben Sie alle Zeichen, die der String enthalten kann, einschließlich Leerzeichen oder anderer Leerraumzeichen, in Klammern an.
[ ] Zeichensatz: Sucht nach Strings, die nur die Zeichen innerhalb der Klammern enthalten.
Hinweis Der [ ]-Konvertierungscode ist nur von Nutzen, wenn Strings untersucht und nicht formatiert werden.

Bei Buchstabenvergleichen wird die Groß-/Kleinschreibung berücksichtigt.

Die folgenden Zeichen haben besondere Bedeutungen im Umwandlungscode [ ]:

  • Geben Sie Bereiche von Zeichen im Zeichensatz an: Verwenden Sie einen Bindestrich (-) zwischen den Zeichen, die den Bereich begrenzen.

    Um einen Bindestrich zu finden, muss dieser als erstes oder letztes Zeichen im Zeichensatz erscheinen.

  • Bis zur ersten Übereinstimmung nach einem oder mehreren Zeichen im Set suchen: Geben Sie das Caret-Symbol ^ als erstes Zeichen nach der sich öffnenden Klammer [ ein.

    Um einem literalen Caret-Symbol zu entsprechen, platzieren Sie die Caret an einer anderen Position im Set.

Nachfolgend ein Beispiel für die Verwendung der Konvertierungscodes zur Suche nach bestimmten Zeichen:

  • %[aeiou]: Entspricht jedem String, der nur Kleinbuchstaben-Vokale enthält.
  • %[0-9a-zA-Z ]: Sucht einen String mit Zahlen, Buchstaben oder Leerzeichen.
  • %[^,;]: Sucht einen String nur so lange, bis die Funktion das erste Komma oder Semikolon findet.
Hinweis s kann andere Datentypen wie folgt interpretieren:
  • Boolesche Werte: Interpretiert False und True
  • Enums: Interpretiert die String-Beschriftung des Enum-Elements
  • Benannte Referenzen wie DAQmx-Kanäle oder VISA-Ressourcennamen
  • Pfade

Konvertierungscodes für Zeit

Konvertierungscode Beschreibung
T Absolute Zeit. Verwenden Sie T in den Anzeigeformateigenschaften von numerischen- oder Zeitstempel-Bedienelementen, Konstanten und Anzeigeelementen sowie mit den Funktionen In String formatieren, In Datei formatieren, Aus String scannen und Aus Datei scannen.
Hinweis T kann nicht mit den Funktionen Array nach Tabellen-String, Tabellen-String nach Array, Wert formatieren und Wert scannen verwendet werden.

Zeitstempel dürfen kein anderes Format als das Zeitformat haben.

t Relative Zeit. Verwenden Sie t in den Anzeigeformateigenschaften von numerischen- oder Zeitstempel-Bedienelementen, Konstanten und Anzeigeelementen sowie mit den Funktionen In String formatieren, In Datei formatieren, Aus String scannen und Aus Datei scannen.
Hinweis t kann nicht mit den Funktionen Array nach Tabellen-String, Tabellen-String nach Array, Wert formatieren und Wert scannen verwendet werden.

Zeitstempel dürfen kein anderes Format als das Zeitformat haben.

Hinweis T kann Zeitstempel und Zahlen interpretieren. t kann nur Zahlen interpretieren.

Formatcodes für andere Ländereinstellungen

Optionale Sequenz, die bestimmt, ob LabVIEW als Dezimaltrennzeichen einen Punkt oder ein Komma verwendet.

Diese Codes beziehen sich lediglich auf das Dezimalzeichen. Sie verursachen keine Ein- oder Ausgabe. Die Darstellung wird bis zum nächsten gefundenen %; beibehalten.

Tabelle 5. Lokalisierungscodes für Formatbezeichner
Lokalisierungscode Beschreibung
%,; Dezimalkomma.
%.; Dezimalpunkt.
%; Standarddezimalzeichen des Systems. Wenn Sie kein Trennzeichen bestimmen, verwendet LabVIEW das Standarddezimalzeichen des Systems.

Literale Zeichen

Wenn Sie einem Eingangs-String Zeichen hinzufügen möchten, können Sie dem Format-String literale Zeichen hinzufügen. Mit Hilfe von Escape-Sequenzen in Format-Strings können Sie bestimmte Zeichen einfügen.

Tabelle 6. Escape-Zeichen für Formatbezeichner
Escape-Sequenzen Ausgabe Beschreibung
%% % Vermeiden Sie Kollisionen mit dem Trennzeichen %, das den Anfang eines Formatbezeichners definiert.
\> > Vermeiden Sie Kollisionen mit dem >-Trennzeichen, das den eingebetteten Zeitformat-Modifikator beendet.
Code mit Backslash (\) Hängt vom Backslash-Code ab Zeichenfolge, die Hexadezimalwerte, Abstände, Rückschritte und andere Formatierungsoptionen bestimmt.

Weitere Informationen zu Backslash-Codes finden Sie unter Anzeige als Escape-Sequenz.

Syntaxbeispiele für Formatbezeichner

Mit praktischen Beispielen lernen Sie, wie LabVIEW Formatbezeichner Eingangsargumente in Ausgangs-Strings umwandeln.

Automatisch formatieren (%g) Beispiel

Argument Format-String Ausgabe-String
12,00 %#g 12
12000000 %#g 1,2E+7

Mit # werden Nullen am Ende entfernt.

Bei g wird je nach zu formatierender Zahl zwischen Exponential- oder Fließkommaschreibweise gewählt.

Dezimal (%d) Beispiel

Argument Format-String Ausgabe-String
12,67 Wertung= %d%% Wertung= 13%

Wenn Sie %d festlegen, werden in LabVIEW Integer im Dezimalformat, also zur Basis 10, angezeigt.

  • Bei vorzeichenbehafteten oder vorzeichenlosen Integern mit verschiedenen Bit-Größen zeigt LabVIEW den nicht modifizierten Integer an.
  • LabVIEW rundet Fließkommawerte in vorzeichenbehaftete 64-Bit-Integer. NaN und Werte größer als der maximale Wert eines vorzeichenbehafteten 64-Bit-Integers werden auf den Maximalwert eines vorzeichenbehafteten 64-Bit-Integers aufgerundet, welcher 9223372036854775807 beträgt. Zum Aufzeichnen von Werten größer als der Maximalwert eines vorzeichenbehafteten 64-Bit-Integers müssen Sie die Werte explizit mit Hilfe der Funktion Nach vorzeichenlosen Quad-Integer in vorzeichenlose 64-Bit-Integer umwandeln.

Fließkomma (%f) Beispiel

Argument Format-String Ausgabe-String
12,67 Temp: %5,1f Temp: 12,7
12,67 N %5.3f 12,670 N
12,67 N %5,3{mN}f 12670,000 mN
12,67 N %5,3{kg}f 12,670 ?kg
  • 5 im Format-String gibt eine Breite von 5 an. Die Zahl nach . gibt die Anzahl der Stellen rechts neben dem Dezimalzeichen (Genauigkeit) an.
  • Einheiten sind nur zulässig, wenn Sie mit der Funktion In String formatieren arbeiten. Die Beispiele mit einer Einheit zeigen, wie Formatbezeichner mit physikalischen Größen interagieren.
    • Sie können von einer Einheit in eine andere umwandeln.
    • Das Fragezeichen zeigt an, wenn die Einheit im angegebenen Format nicht mit der eingegebenen Einheit vereinbar ist.

Wissenschaftliche Darstellung (%e) Beispiel

Argument Format-String Ausgabe-String
12,67 %.3e 1,267E+1
12,67 %^.3e 1,2670E+0

Mit einem ^ wird zur technischen Darstellung gewechselt. Der Exponent ist dann immer ein Vielfaches von 3.

SI-Schreibweise (%p) Beispiel

Argument Format-String Ausgabe-String
12000000 %.2p 12,00M
12000000 %_2p 12M
  • .2 zeigt an, dass das Ergebnis mit einer Genauigkeit von zwei Stellen ausgegeben werden soll.
  • _2 gibt an, dass das Ergebnis zwei signifikante Stellen haben soll.
  • Der %p-Code fügt die SI-Präfixe hinzu.

Hexadezimal (%x), Oktal (%o) und Binär (%b) Beispiel

Argument Format-String Ausgabe-String
12 %02x 0C
12 %06o 000014
12 %b 1100

b (binär) ist Basis 2. o (oktal) ist Basis 8. x (hexadezimal) ist Basis 16.

  • Sie können den resultierenden String mit dem --Modifikator links rechtfertigen.
  • Der Modifikator 0 zeigt an, dass der resultierende String mit Nullen aufgefüllt werden soll.
  • Die Zahl im Formatbezeichner gibt die Breite des resultierenden Strings an.

So füllt z. B. ein Modifikator -n den resultierenden String mit Leerzeichen bis zur Breite n auf.

Relative Zeit (%t) Beispiel

Argument Format-String Ausgabe-String
91,80 %.2t 01:31,80
91,8 %<Stunden:%H Minuten:%M Sekunden:%S>t Stunden:00 Minuten:01 Sekunden:31

LabVIEW formatiert die verstrichene Zeit wie folgt:

  • Komplette Wochen (%W)
  • Komplette Tage (%D)
  • Vollständige Stunden (%H)
  • Vollständige Minuten (%M)
  • Vollständige Sekunden (%S)
  • Sekundenbruchteile (%digitu)

Weitere Informationen zu den eingebetteten Zeitformatcodes finden Sie unter Zeitspezifische Formatcodes.

Absolute Zeit (%T) Beispiel

Argument Format-String Ausgabe-String
00:00:00.000 AM 1/1/2001 (universelle Zeit) %<%.3X %x>T 00:00:00.000 01.01.2001
00:00:00.000 AM 1/1/2001 (universelle Zeit) %<%Y.%m.%d>T 2001.01.01
00:00:00.000 AM 1/1/2001 (universelle Zeit) %^<%.3X %x>T 06:00:00.000 31.12.2000

Mit %T wird die Zeit absolut angegeben.

  • Alle Angaben im eingebetteten Zeitformat (zwischen < und >) geben an, wie die absolute Zeit formatiert werden soll. Weitere Informationen zu den eingebetteten Zeitformatcodes finden Sie unter Zeitspezifische Formatcodes.
  • Das Format (einschließlich Zeichensetzung) richtet sich nach der Ländereinstellung Ihres Rechners. Die Zeit basiert auf der angegebenen Zeitzone.
  • Zur Anzeige der Zeit in Weltzeit fügen Sie ^ hinzu.

String (%s) Beispiel

Argument Format-String Ausgabe-String
Schmidt, Hans Name: %s, %s. Name: Schmidt, Hans.
Hallo Welt String: %10.6s String: Hallo,
  • %s ist sowohl für Formatierung als auch für Scan gültig. %s kann sowohl für Strings als auch für Dateien verwendet werden.
  • Im ersten Beispiel verwendet der Format-String mehrere Formatbezeichner. Gehen Sie dazu wie folgt vor:
    • Geben Sie den Familiennamen (Smith) an Eingang 1 von In String formatieren an.
    • Erweitern Sie In String formatieren, um einen zweiten Eingang hinzuzufügen, indem Sie am unteren Rand der Funktion klicken und ziehen. Geben Sie den Vornamen (John) an den resultierenden Eingang 2 an.
    • Geben Sie den angegebenen Format-String ein. Da der Format-String zwei %-Trennzeichen enthält, enthält der Format-String zwei Formatbezeichner. Die Anzahl der Formatbezeichner im Format-String muss mit der Anzahl der Eingänge der Funktion übereinstimmen. LabVIEW interpretiert die Zeichen, die nicht Teil eines Formatbezeichners sind, als literalen Text, der zum resultierenden String hinzugefügt werden soll.
  • Im zweiten Beispiel bestimmt .6 die Genauigkeit des Strings. .6 gibt an, dass maximal sechs Zeichen aus dem String Hello, World verwendet werden sollen. 10 ist die Breite: LabVIEW füllt den String mit Leerzeichen auf, so dass die Gesamtlänge des Strings 10 ist.

Variablenreihenfolge (%$) Beispiel

Argument Format-String Ausgabe-String
Schmidt, Hans %2$s %1$s Hans Schmidt

In diesem Beispiel ist Schmidt die erste und Hans die zweite Variable.

  • Wenn Sie $ im Format-String für eine bestimmte Variable verwenden, werden die nachfolgenden Syntaxelemente, denen $ nicht vorangestellt ist, auf die nächste Variable angewendet.
  • Um die Lesbarkeit zu verbessern, wenn Sie $ für eine Variable verwenden, verwenden Sie $ für alle anderen Variablen im String.

Beispiel für literale Prozentzeichen (%%)

Argument Format-String Ausgabe-String
Leeres Argument %% %

%% fügt keinen Anschluss zu den Funktionen In String formatieren oder In String suchen hinzu.