Printf (Modulbaustein)

Werte in Zeichenketten einfügen

Verfügbar ab Firmware Version 4.0 Insider Preview 2

Inhalt dieser Seite
richtet sich an
Experten

Syntax

["Printf","$In","$StringFormat", "$Out"]

Funktion

Die Eingangszeichenkette "$In" wird, abhängig von den Angaben in "$StringFormat"formatiert und in $Out als Ausgangszeichenkette bereitgestellt.

Eingänge

  • "$In" Wert der formatiert ausgeben werden soll. Es kann Ganzzahl, Fließkommazahl und Zeichenkette genutzt werden (Eingangszeichenkette)

  • $StringFormat ist die Formatzeichenkette die beschreibt, wie der Wert formatiert werden soll. Diese kann zusätzlichen Text enthalten.

Ausgänge

  • "$Out" Formatierte Zeichenkette (Ausgangszeichenkette)

Besonderheiten

Das Modul nutzt die printf Funktion, die in der Programmiersprache C eingeführt wurde. In der Formatzeichenkette "$StringFormat" ist die Syntax entsprechend der C Funktion zu verwenden.

Ein in dieser Formatzeichenkette enthaltenen Text wird mit in die Ausgangszeichenkette übernommen.

Das Prozentzeichen wird als Steuerzeichen für das Einfügen eines Wertes verwendet. Soll ein Prozentzeichen in der Ausgangszeichenkette erscheinen, beispielsweise für die Anzeige der Luftfeuchte oder Batterieladung, dann sind hierzu zwei Prozentzeichen hintereinander in der Formatzeichenkette anzugeben.

Der Typ des Levels "$In" muss zu der Formatzeichenkette passen, sonst kommt es zu unerwarteten Ergebnissen.

  • Ganzzahl
    Verwenden Sie %d um eine Ganzzahl in die Ausgangszeichenkette einzufügen.
    Beispielsweise “Akkuladung %d %%” für “Akkuladung 50%”. Beachten Sie die beiden %% für die Ausgabe des Prozentzeichens.
    %+d stellt das Vorzeichen immer dar, nicht nur bei negativen Werten. Wird das Pluszeichen durch ein Leerzeichen ersetzt, wird bei positiven Werten bei Leerschritt anstatt des Minuszeichens eingesetzt.
    Verwenden Sie %d nicht wenn ihr Level eine Fließkommazahl ist und Sie nur den ganzzahligen Anteil darstellen wollen.

  • Fließkommazahl
    Verwenden Sie %f wenn es sich bei "$In" um einen Level vom Typ Float handelt.
    Sie können den Wert des Levels für die Ausgabe runden. Nutzen Sie dazu die Syntax %.2f damit wird der Wert auf zwei Stellen Genauigkeit gerundet. Soll nur eine Ganzzahl angezeigt werden, können Sie %.0f verwenden.
    %+f stellt das Vorzeichen immer dar, nicht nur bei negativen Werten. Wird das Pluszeichen durch ein Leerzeichen ersetzt, wird bei positiven Werten ein Leerschritt anstatt des Minuszeichens ausgegeben.
    Mit %e kann die Exponentialschreibweise erzwungen werden, welche bei Nutzung von %f ansonsten nur bei sehr großen oder kleinen Werten verwendet werden würde.
    Als Dezimaltrennzeichen wird stets ein Punkt ausgegeben.

  • Zeichenkette
    Nutzen Sie %s um eine Zeichenkette auszugeben.
    Mit der Formatzeichenkette ”Status auf %s geändert” würden Sie die Eingangszeichenkette an der Stelle %s in der Ausgangszeichenkette ausgeben.
    Hinweis: Um eine Zeichenkette an eine andere Zeichenkette anzuhängen, können Sie auch den Baustein Concat verwenden.
    Mit Angabe von ‘%.10s’ in der Formatzeichenkette können Sie die Eingangszeichenkette vor der Ausgabe kürzen, z.B. wenn auf der Zielanzeige nur begrenzter Platz vorhanden ist.

Beachten Sie dass die Länge der Level vom Typ Zeichenkette zu den möglichen Längen der Eingangs- und Ausgangszeichenketten passen müssen und im Voraus bestimmt werden sollten, da ansonsten von der Logikengine Zeichenketten abgeschnitten werden, was oft nicht zum gewünschten Ergebnis führt.

Praktische Anwendungsbeispiele

  • Ausgaben auf Tastern und Displays, welche Text darstellen können

  • Warnmeldungen für Messenger-Dienste formatieren

Entsprechendes Logik-Modul

 

 

2019 - 2023 by Elaborated Networks GmbH / Impressum / Datenschutzerklärung