



HINWEIS

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.




HINWEIS

Wenn die Gleitpunktzahl innerhalb des Wertebereichs des Zieldatentyps liegt, arbeitet die Konvertierung auf allen Systemen gleich.




HINWEIS

Wenn die Gleitpunktzahl die Bereichsgrenze überschreitet, werden die ersten Bytes der Zahl nicht berücksichtigt.
Die Operatoren konvertieren eine Gleitpunktzahl in den angegebenen Datentypen und geben einen typkonvertierten Wert zurück. Bei der Konvertierung wird gegebenenfalls gerundet.
Aufruf
Syntax
<variable name> := <floating-point conversion operator> ( <floating-point operand> ); <floating-point operand> = <variable name> | <literal> <floating-point type> = REAL | LREAL
Operatoren
REAL_TO___UXINT REAL_TO___XINT REAL_TO___XWORD REAL_TO_BIT REAL_TO_BOOL REAL_TO_BYTE REAL_TO_DATE REAL_TO_DINT REAL_TO_DT REAL_TO_DWORD REAL_TO_INT REAL_TO_LINT REAL_TO_LREAL REAL_TO_LTIME REAL_TO_LWORD REAL_TO_SINT REAL_TO_STRING REAL_TO_TIME REAL_TO_TOD REAL_TO_UDINT REAL_TO_UINT REAL_TO_ULINT REAL_TO_USINT REAL_TO_WORD REAL_TO_WSTRING LREAL_TO___UXINT LREAL_TO___XINT LREAL_TO___XWORD LREAL_TO_BIT LREAL_TO_BOOL LREAL_TO_BYTE LREAL_TO_DATE LREAL_TO_DINT LREAL_TO_DT LREAL_TO_DWORD LREAL_TO_INT LREAL_TO_LINT LREAL_TO_LTIME LREAL_TO_LWORD LREAL_TO_REAL LREAL_TO_SINT LREAL_TO_STRING LREAL_TO_TIME LREAL_TO_TOD LREAL_TO_UDINT LREAL_TO_UINT LREAL_TO_ULINT LREAL_TO_USINT LREAL_TO_WORD LREAL_TO_WSTRING
Runden
Bei der Konvertierung zu einer Integerzahl wird der Operand nach oben oder unten auf einen ganzzahligen Wert gerundet. Bei 1 bis 4 hinter dem Punkt wird abgerundet, bei 5 bis 9 wird aufgerundet. Dann wird die gerundete Zahl in den angegebenen Integertyp konvertiert. Im Fall, dass der gerundete Wert außerhalb des Wertebereichs des Integers liegt, wird ein undefinierter, zielsystem-abhängiger Wert zurückgegeben. Auch ein Ausnahmefehler ist dann möglich.




HINWEIS

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.
Um zielsystem-unabhängigen Code zu programmieren, müssen Sie Überschreitungen des Wertebereichs über die Applikation abfangen.
Zu einem String konvertieren




HINWEIS

Stringmanipulation bei Konvertierung nach STRING
oder WSTRING
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.
Bei einer Gleitpunktzahl-Konvertierung zu einem String ist die Anzahl der Nachkommastellen
der Mantisse auf 6 begrenzt. Wenn die Zahl < 1 ist, gilt für die Mantisse m: 1 <= m < 10
. Wenn die Mantisse mehr Stellen hinter dem Komma hat, wird auf die 6. Stelle gerundet
und dann konvertiert.
Außerdem kann die Stringvariable für den Rückgabewert zu kurz deklariert sein. Dann wird der Rückgabestring rechts abgeschnitten.

Beispiele
Implementierungssprache ST
