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_VAR
Name | 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 |