The floor function returns the largest whole number that is less than or equal to the input. This method only takes and returns FloorMethodExample.javadouble
values. Take a look at the example below.package exlcode;
public class FloorMethodExample {
// Returns largest integer that is less than or equal to the argument
public static double exampleVariableOne = Math.floor[10.4];
public static double exampleVariableTwo = Math.floor[-20.4];
public static void main[String[] args] {
System.out.println[exampleVariableOne];
System.out.println[exampleVariableTwo];
}
}
As the nearest whole number that is less than or equal to 10.4 is 10, 10.0 is printed. Similarly, since the closest whole number that is less than or equal to -20.4 is -21, -21.0 is printed. Notice that even
if we input a non-decimal number into the floor function, a double
is returned. Since data precision is not hindered when you convert from an int
data type to a double
, Java will do it without throwing any errors. The floor function's primary use is rounding, all ready for you to use while coding.
Edit Me on GitHub!
Skip to main content
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Math.Floor Method
- Reference
Definition
Returns the largest integral value less than or equal to the specified number.
In this article
Overloads
Floor[Double] | Returns the largest integral value less than or equal to the specified double-precision floating-point number. |
Floor[Decimal] | Returns the largest integral value less than or equal to the specified decimal number. |
Remarks
The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward negative infinity.
Floor[Double]
Returns the largest integral value less than or equal to the specified double-precision floating-point number.
public:
static double Floor[double d];
public static double Floor [double d];
static member Floor : double -> double
Public Shared Function Floor [d As Double] As Double
Parameters
d Double
A double-precision floating-point number.
Returns
DoubleThe largest integral value less than or equal to d
. If d
is equal to NaN,
NegativeInfinity, or PositiveInfinity, that value is returned.
Examples
The following example illustrates the Math.Floor[Double] method and contrasts it with the Ceiling[Double] method.
double[] values = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6};
Console.WriteLine[" Value Ceiling Floor\n"];
foreach [double value in values]
Console.WriteLine["{0,7} {1,16} {2,14}",
value, Math.Ceiling[value], Math.Floor[value]];
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
// The ceil and floor functions may be used instead.
let values =
[ 7.03; 7.64; 0.12; -0.12; -7.1; -7.6 ]
printfn " Value Ceiling Floor\n"
for value in values do
printfn $"{value,7} {Math.Ceiling value,16} {Math.Floor value,14}"
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
Dim values[] As Double = {7.03, 7.64, 0.12, -0.12, -7.1, -7.6}
Console.WriteLine[" Value Ceiling Floor"]
Console.WriteLine[]
For Each value As Double In values
Console.WriteLine["{0,7} {1,16} {2,14}", _
value, Math.Ceiling[value], Math.Floor[value]]
Next
' The example displays the following output to the console:
' Value Ceiling Floor
'
' 7.03 8 7
' 7.64 8 7
' 0.12 1 0
' -0.12 0 -1
' -7.1 -7 -8
' -7.6 -7 -8
Remarks
The behavior of this method follows
IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward negative infinity. In other words, if d
is positive, any fractional component is truncated. If d
is negative, the presence of any fractional component causes it to be rounded to the smaller integer. The operation of this method differs from the Ceiling method,
which supports rounding toward positive infinity.
Starting with Visual Basic 15.8, the performance of Double-to-integer conversion is optimized if you pass the value returned by the Floor
method to the any of the integral conversion functions, or if the Double value returned by Floor
is automatically converted to an
integer with Option Strict set to Off. This optimization allows code to run faster -- up to twice as fast for code that does a large number of conversions to integer types. The following example illustrates such optimized conversions:
Dim d1 As Double = 1043.75133
Dim i1 As Integer = CInt[Math.Floor[d1]] ' Result: 1043
Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt[Math.Floor[d2]] ' Result: 7968
See also
- Round
- Ceiling[Double]
Applies to
Floor[Decimal]
Returns the largest integral value less than or equal to the specified decimal number.
public:
static System::Decimal Floor[System::Decimal d];
public static decimal Floor [decimal d];
static member Floor : decimal -> decimal
Public Shared Function Floor [d As Decimal] As Decimal
Parameters
Returns
DecimalThe largest integral value less than or equal to d
. Note that the method
returns an integral value of type Decimal.
Examples
The following example illustrates the Math.Floor[Decimal] method and contrasts it with the Ceiling[Decimal] method.
decimal[] values = {7.03m, 7.64m, 0.12m, -0.12m, -7.1m, -7.6m};
Console.WriteLine[" Value Ceiling Floor\n"];
foreach [decimal value in values]
Console.WriteLine["{0,7} {1,16} {2,14}",
value, Math.Ceiling[value], Math.Floor[value]];
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
// The ceil and floor functions may be used instead.
let values =
[ 7.03m; 7.64m; 0.12m; -0.12m; -7.1m; -7.6m ]
printfn " Value Ceiling Floor\n"
for value in values do
printfn $"{value,7} {Math.Ceiling value,16} {Math.Floor value,14}"
// The example displays the following output to the console:
// Value Ceiling Floor
//
// 7.03 8 7
// 7.64 8 7
// 0.12 1 0
// -0.12 0 -1
// -7.1 -7 -8
// -7.6 -7 -8
Dim values[] As Decimal = {7.03d, 7.64d, 0.12d, -0.12d, -7.1d, -7.6d}
Console.WriteLine[" Value Ceiling Floor"]
Console.WriteLine[]
For Each value As Decimal In values
Console.WriteLine["{0,7} {1,16} {2,14}", _
value, Math.Ceiling[value], Math.Floor[value]]
Next
' The example displays the following output to the console:
' Value Ceiling Floor
'
' 7.03 8 7
' 7.64 8 7
' 0.12 1 0
' -0.12 0 -1
' -7.1 -7 -8
' -7.6 -7 -8
Remarks
The behavior of this method follows IEEE Standard 754, section 4. This kind of rounding is sometimes called rounding toward negative infinity. In other words, if d
is positive, any fractional component is truncated. If d
is negative, the
presence of any fractional component causes it to be rounded to the smaller integer. The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.
See also
- Round
- Ceiling[Decimal]
- Floor[Decimal]