Movatterモバイル変換


[0]ホーム

URL:


Skip to main contentSkip to in-page navigation

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft EdgeMore info about Internet Explorer and Microsoft Edge
Table of contentsExit focus mode

Math.Floor Method

Definition

Namespace:
System
Assemblies:
mscorlib.dll, System.Runtime.Extensions.dll
Assemblies:
netstandard.dll, System.Runtime.dll
Assembly:
System.Runtime.Extensions.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Returns the largest integral value less than or equal to the specified number.

Overloads

Floor(Decimal)

Returns the largest integral value less than or equal to the specified decimal number.

Floor(Double)

Returns the largest integral value less than or equal to the specified double-precision floating-point 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(Decimal)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

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

d
Decimal

A decimal number.

Returns

The largest integral value less than or equal tod. Note that the method returns an integral value of typeDecimal.

Examples

The following example illustrates theMath.Floor(Decimal) method and contrasts it with theCeiling(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, ifd is positive, any fractional component is truncated. Ifd is negative, the presence of any fractional component causes it to be rounded to the smaller integer. The operation of this method differs from theCeiling method, which supports rounding toward positive infinity.

See also

Applies to

Floor(Double)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

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

The largest integral value less than or equal tod. Ifd is equal toNaN,NegativeInfinity, orPositiveInfinity, that value is returned.

Examples

The following example illustrates theMath.Floor(Double) method and contrasts it with theCeiling(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, ifd is positive, any fractional component is truncated. Ifd is negative, the presence of any fractional component causes it to be rounded to the smaller integer. The operation of this method differs from theCeiling 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 theFloor method to the any of theintegral conversion functions, or if the Double value returned byFloor is automatically converted to an integer withOption 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.75133Dim i1 As Integer = CInt(Math.Floor(d1))        ' Result: 1043Dim d2 As Double = 7968.4136Dim i2 As Integer = CInt(Math.Floor(d2))        ' Result: 7968

See also

Applies to

Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, seeour contributor guide.

Feedback

Was this page helpful?

YesNo

In this article

Was this page helpful?

YesNo