LTRUNC
 
Die Funktion LTRUNC ermittelt den ganzzahligen Anteil einer Floating-Point-Zahl.
Im Gegensatz zu TRUNC ist das Funktionsergebnis von LTRUNC vom Typ LREAL und ist somit nicht auf den Wertebereich einer Integer-Variablen beschränkt.
Beispiele
LTRUNC(2.8) = 2
LTRUNC(-2.8) = -2
FUNCTION LTRUNC : LREAL
 Eingänge
VAR_INPUT
    lr_in : LREAL;
END_VARName  | Typ  | Beschreibung  | 
|---|---|---|
lr_in  | LREAL  | Funktionsparameter vom Typ LREAL  | 

Beispielergebnisse verschiedener Rundungsfunktionen
x  | 0  | 0.4  | 0.5  | 0.6  | 1  | 1.4  | 1.5  | 1.6  | 1.78  | 
|---|---|---|---|---|---|---|---|---|---|
FLOOR(x)  | 0  | 0  | 0  | 0  | 1  | 1  | 1  | 1  | 1  | 
CEIL(x)  | 0  | 1  | 1  | 1  | 1  | 2  | 2  | 2  | 2  | 
LTRUNC(x)  | 0  | 0  | 0  | 0  | 1  | 1  | 1  | 1  | 1  | 
TO_LINT(x)  | 0  | 0  | 1  | 1  | 1  | 1  | 2  | 2  | 2  | 
x  | -1.78  | -1.6  | -1.5  | -1.4  | -1  | -0.6  | -0.5  | -0.4  | 
|---|---|---|---|---|---|---|---|---|
FLOOR(x)  | -2  | -2  | -2  | -2  | -1  | -1  | -1  | -1  | 
CEIL(x)  | -1  | -1  | -1  | -1  | -1  | 0  | 0  | 0  | 
LTRUNC(x)  | -1  | -1  | -1  | -1  | -1  | 0  | 0  | 0  | 
TO_LINT(x)  | -2  | -2  | -2  | -1  | -1  | -1  | -1  | 0  | 
Soll nicht auf einen ganzzahligen Wert, sondern auf eine bestimmte Nachkommastelle hin gerundet werden, so kann dies durch Multiplikation und Division einer Zehnerpotenz erreicht werden. Folgende Beispielergebnisse geben die Rundung auf die erste Nachkommastelle hin aus.
x  | 0  | 0.04  | 0.05  | 0.06  | 0.1  | 0.14  | 0.15  | 0.16  | 0.178  | 
|---|---|---|---|---|---|---|---|---|---|
FLOOR(x * 10) / 10  | 0  | 0  | 0  | 0  | 0.1  | 0.1  | 0.1  | 0.1  | 0.1  | 
CEIL(x * 10) / 10  | 0  | 0.1  | 0.1  | 0.1  | 0.1  | 0.2  | 0.2  | 0.2  | 0.2  | 
LTRUNC(x * 10) / 10  | 0  | 0  | 0  | 0  | 0.1  | 0.1  | 0.1  | 0.1  | 0.1  | 
TO_LINT(x * 10) / 10.0  | 0  | 0  | 0.1  | 0.1  | 0.1  | 0.1  | 0.2  | 0.2  | 0.2  | 
x  | -0.178  | -0.16  | -0.15  | -0.14  | -0.1  | -0.06  | -0.05  | -0.04  | 
|---|---|---|---|---|---|---|---|---|
FLOOR(x * 10) / 10  | -0.2  | -0.2  | -0.2  | -0.2  | -0.1  | -0.1  | -0.1  | -0.1  | 
CEIL(x * 10) / 10  | -0.1  | -0.1  | -0.1  | -0.1  | -0.1  | 0  | 0  | 0  | 
LTRUNC(x * 10) / 10  | -0.1  | -0.1  | -0.1  | -0.1  | -0.1  | 0  | 0  | 0  | 
TO_LINT(x * 10) / 10.0  | -0.2  | -0.2  | -0.2  | -0.1  | -0.1  | -0.1  | -0.1  | 0  | 
Voraussetzungen
| 
 Entwicklungsumgebung  | 
 Zielplattform  | 
 Einzubindende SPS-Bibliotheken  | 
|---|---|---|
| 
 TwinCAT v3.0.0  | 
 PC or CX (x86)  | 
 Tc2_Math  |