Operatoren für Typkonvertierung
Wichtig
Die Rundungslogik für Grenzfälle ist vom Zielsystem beziehungsweise von der FPU (Floating Point Unit) des Zielsystems abhängig. Ein Wert wie beispielsweise -1.5
kann auf verschiedenen Steuerungen unterschiedlich konvertiert werden.
Fangen Sie Überschreitungen von Wertebereichen über die Applikation ab, um vom Zielsystem unabhängigen Code zu programmieren.
Wichtig
Wenn bei einem Typkonvertierungsoperator der Operandenwert außerhalb des Wertebereichs des Zieldatentyps liegt, ist die Ergebnisausgabe vom Prozessortyp abhängig und damit undefiniert. Dies ist beispielsweise der Fall, wenn ein negativer Operandenwert von LREAL
in den Zieldatentyp UINT
konvertiert wird.
Bei der Typkonvertierung von größeren auf kleinere Typen können Informationen verloren gehen.
Stringmanipulation
Bei einer Typkonvertierung nach STRING
oder WSTRING
wird der getypte Wert als Zeichenfolge linksbündig abgelegt und bei Überlänge abgeschnitten. Deklarieren Sie deshalb die Rückgabevariablen für die Typkonvertierungsoperatoren <>_TO_STRING
und <>_TO_WSTRING
ausreichend lang, so dass die Zeichenfolge ohne Manipulation Platz findet.
Typkonvertierung
Sie können Typkonvertierungsoperatoren explizit aufrufen.
Für getypte Konvertierungen von einem elementaren Typ in einen anderen elementaren Typ und auch für Überladungen stehen die unten beschriebenen Typkonvertierungsoperatoren zur Verfügung.
Konvertierungen von einem „größeren“ Typ auf einen „kleineren“ Typ, wie beispielsweise von INT
nach BYTE
oder von DINT
nach WORD
, sind aber auch implizit möglich.