REAL/LREAL_TO_<type>
Der IEC-Operator dient der Konvertierung vom Datentyp REAL und LREAL in einen anderen Datentyp.
Syntax:
REAL_TO_<Datentyp>
LREAL_TO_<Datentyp>
TwinCAT rundet den Real-Wert des Operanden nach oben oder unten auf einen ganzzahligen Wert und wandelt in den entsprechenden Datentyp um. Ausgenommen davon sind die Datentypen STRING, BOOL, REAL und LREAL.
Wenn Sie ein eine Zahl vom Typ REAL oder LREAL zu SINT, USINT, INT, UINT, DINT, UDINT, LINT oder ULINT konvertieren und der Wert der REAL/LREAL-Zahl außerhalb des Wertebereichs des Integer liegt, erhalten Sie ein undefiniertes Ergebnis. Auch ein Ausnahmefehler ist dann möglich! |
Beachten Sie bei der Konvertierung in den Datentyp STRING, dass die Gesamt-Kommastellen-Zahl auf 16 begrenzt ist. Enthält die (L)REAL-Zahl mehr Stellen, wird die sechzehnte Stelle gerundet und so im String dargestellt. Wenn der String für die Zahl zu kurz definiert ist, schneidet TwinCAT von rechts her ab.
Bei der Typkonvertierung von größeren zu kleineren Datentypen können Informationen verloren gehen. |
Beispiele:
ST-Code | Ergebnis |
---|---|
nVar1 := REAL_TO_INT(1.5); | 2 |
nVar2 := REAL_TO_INT(1.4); | 1 |
nVar1 := REAL_TO_INT(-1.5); | -2 |
nVar2 := REAL_TO_INT(-1.4); | -1 |
FUP-Code | Ergebnis |
---|---|
2 |
Siehe auch:
- Datentypen > REAL/LREAL