Rounds the field value to the largest (closest to positive infinity) double value that is less than or equal to the field value and is equal to a mathematical integer.
Note
Math functions on ARM architecture may return different results in very high-precision calculationsc compared to Intel/AMD architectures.
Hide omitted argument names for this function
Omitted Argument NamesThe argument name for
field
can be omitted; the following forms of this function are equivalent:logscale Syntaxmath:floor("value")
and:
logscale Syntaxmath:floor(field="value")
These examples show basic structure only.
math:floor()
Examples
Click
next to an example below to get the full details.Calculate Floor Value of a Number
Calculate the largest integer less than or equal to a number using
the math:floor()
function
Query
x := 3.7
| math:floor(x, as=floor_result)
Introduction
In this example, the math:floor()
function is used
to calculate the floor value of a decimal number, demonstrating how it
always rounds down to the nearest integer regardless of the decimal
portion.
Step-by-Step
Starting with the source repository events.
- logscale
x := 3.7
Assigns the double-precision floating-point value
3.7
to a field named x. This value will be used to demonstrate the floor function. Note the decimal point indicating a floating-point number. - logscale
| math:floor(x, as=floor_result)
Calculates the floor value of the double-precision value in field x and returns the result in a new field named floor_result as a double-precision number. If the
as
parameter is not specified, the result is returned in a field named _floor as default. Event Result set.
Summary and Results
The query is used to find the largest integer less than or equal to a given number, which is useful when you need to round numbers down consistently.
This query is useful, for example, to calculate whole units from decimal measurements, determine complete time periods, or round down financial calculations where partial units are not allowed.
Sample output from the incoming example data:
floor_result |
---|
3.000000 |
The result shows that the floor value of 3.7
is
3.000000
, as 3
is the largest
integer less than or equal to 3.7
.
Some other examples demonstrating floor values:
math:floor(3.0) = 3.000000
(integer input returns the same integer)math:floor(3.1) = 3.000000
(rounds down regardless of decimal value)math:floor(-3.7) = -4.000000
(negative numbers round down to next lower integer)math:floor(0.8) = 0.000000
(decimal numbers between 0 and 1 round down to 0)
Note that the math:floor()
function always rounds
down, unlike rounding functions that might round up or down based on the
decimal portion. This makes it particularly useful when you need
consistent downward rounding behavior.