Zum Ende der Metadaten springen
Zum Anfang der Metadaten
Über Protokolle wie MQTT und HTTP-/Rest-API werden Dezimalzahlen oft als Zeichenkette übergeben und nicht als binär kodierter Zahlenwert. Im Timberwolf Server können mathematische Operationen nur mit binär kodierten Zahlenwerten ausgeführt werden, daher ist eine Wandlung meist sinnvoll. Zudem werden für Ganzzahlen nur 4 Byte für die Speicherung benötigt.
Syntax | ["STR->INT","$In", $Out]
|
---|
Funktion | Die Eingangszeichenkette "$In" wird in einen binär kodierten Ganzzahlenwert umgewandelt, welche in $Out bereitgestellt wird. |
---|
Eingänge | "$In" Zeichenkette, welche die umzuwandelnden Dezimalzahl enthält. Beispielweise wird die Zeichenkette “255” in den Zahlenwert 255 umgewandelt. Der Dezimalzahl in der Zeichenkette kann “+” vorangestellt sein, dies ist nicht zwingend notwendig.
Für die Umwandlung genutzte Zeichen: +-1234567890 mit 8 Bit kodiert (ASCII, ANSI, UTF-8) Keine Leerzeichen Keine Vor- und Nachgestellten anderen Zeichen (wir empfehlen, andere Textteile oder Einheitenbezeichnungen zuvor mit dem RegEx-Modul abzutrennen)
|
---|
Ausgänge | |
---|
Besonderheiten | Es werden nur Zeichenketten mit 8 Bit pro Zeichen korrekt verarbeitet (ASCII, ANSI, UTF-8) Der binär kodierte Zahlenwert am Ausgang wird als vorzeichenbehaftete 32 Bit Ganzzahl im Zweierkomplement ausgegeben Eine negative Zahl in der Zeichenkette muss ein Minuszeichen (ohne Leerzeichen zwischen Minuszeichen und Zahl) vorangestellt haben Die Zeichenkette muss mit einer Zahl oder dem Plus- oder Minuszeichen beginnen Zahlenwerte größer als 2.147.483.647 bzw. kleiner als -2.147.483.648 können nicht verarbeitet werden (hierbei wird eine Meldung im Logik Diagnosemonitor unter “Warnungen & Fehler” geloggt) Sollte die Zeichenkette außer den Zahlen weitere Zeichen nach den Zahlen enthalten, dann wird die umgewandelte Zahl zwar am Ausgang ausgegeben, jedoch wird im Logik Diagnosemonitor (unter “Warnungen & Fehler”) eine Warnung im Log ausgegeben Nachkommastellen in der Zeichenkette werden ignoriert, es wird nur der ganzzahlige Anteil binär kodiert ausgegeben. In diesem Fall wird im Logik Diagnosemonitor (unter “Warnungen & Fehler”) eine Warnung im Log ausgegeben
|
---|
Anwendungen | |
---|
Beispiele | Erfolgreiche Wandlungen Zeichenkette “100” wird umgewandelt in den Zahlenwert 100 Zeichenkette “100,1” wird umgewandelt in den Zahlenwert 100 Zeichenkette “100.1” wird umgewandelt in den Zahlenwert 100 Zeichenkette “-100” wird umgewandelt in den Zahlenwert -100 Zeichenkette “43 Gramm” wird umgewandelt in 43 (Warnung im Log des Logik Diagnosemonitors)
FALSCHE oder KEINE Wandlung möglich Zeichenkette “1.000,1” wird umgewandelt in den Zahlenwert 1 (der Dezimalpunkt als Tausendertrennzeichen wird als sonstiger Text betrachtet und an dieser Stelle die Konvertierung beendet) Zeichenkette “1,000.1” wird umgewandelt in den Zahlenwert 1 (das Komma als Tausendertrennzeichen wird als sonstiger Text betrachtet und an dieser Stelle die Konvertierung beendet) Zeichenkette “- 3,44 Grad Celsius” kann nicht gewandelt werden (Leerzeichen zwischen Minus und Zahl, Fehlerausgabe im Log des Logik Diagnosemonitors) Zeichenkette “Temperatur -3°C” kann nicht gewandelt werden (Text vor der Zahl, Fehlerausgabe im Log des Logik Diagnosemonitors) Tipp: Verwenden Sie das Regex Modul um zunächst den relevanten Zahlenteil von der Zeichenkette abzutrennen. Zeichenkette “2147483648” kann nicht gewandelt werden (Zahl nicht mit 32 Bit vorzeichenbehaftet darstellbar, Fehlerausgabe im Log des Logik Diagnosemonitors) Zeichenkette “-2147483649” kann nicht gewandelt werden (Zahl nicht mit 32 Bit vorzeichenbehaftet darstellbar, Fehlerausgabe im Log des Logik Diagnosemonitors)
|
---|
Entsprechendes Logik-Modul | |
---|
0 Kommentare