FLOOR
Die Funktion FLOOR ermittelt einen ganzzahligen Wert aus einer Floating-Point-Zahl, der als gerade Zahl kleiner oder gleich dieser Zahl ist. Es wird immer zur kleineren Zahl hin abgerundet.
Das Ergebnis ist vom Typ LREAL
und somit nicht auf den Wertebereich einer Integer-Variablen beschränkt.
Beispiele
FLOOR(2.8) = 2
FLOOR(-2.8) = -3
FUNCTION FLOOR : LREAL
Eingänge
VAR_INPUT
lr_in : LREAL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
lr_in | LREAL | Funktionsparameter vom Typ LREAL |

Vergleich zu anderen Rundungsfunktionen
Ähnliche Funktionen: CEIL, TRUNC, LTRUNC
![]() | Im Gegensatz zu FLOOR ermittelt die Funktion LTRUNC immer den ganzzahligen Anteil vor dem Komma. Dieser Wert ist im positiven Bereich kleiner oder gleich, im negativen Bereich aber größer oder gleich dem Eingangsparameter. |
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 |