Math.Floor Metod

Definition

Returnerar det största integralvärdet mindre än eller lika med det angivna talet.

Överlagringar

Name Description
Floor(Decimal)

Returnerar det största integralvärdet mindre än eller lika med det angivna decimaltalet.

Floor(Double)

Returnerar det största integralvärdet mindre än eller lika med det angivna flyttalsnumret med dubbel precision.

Kommentarer

Beteendet för den här metoden följer IEEE Standard 754, avsnitt 4. Den här typen av avrundning kallas ibland avrundning mot negativ oändlighet.

Floor(Decimal)

Returnerar det största integralvärdet mindre än eller lika med det angivna decimaltalet.

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

Parametrar

d
Decimal

Ett decimaltal.

Returer

Det största integralvärdet som är mindre än eller lika med d. Observera att metoden returnerar ett integralvärde av typen Decimal.

Exempel

Följande exempel illustrerar Math.Floor(Decimal) metoden och kontrasterar den med Ceiling(Decimal) metoden.

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

Kommentarer

Beteendet för den här metoden följer IEEE Standard 754, avsnitt 4. Den här typen av avrundning kallas ibland avrundning mot negativ oändlighet. Med andra ord, om d är positiv trunkeras alla bråkkomponenter. Om d det är negativt avrundas förekomsten av en delkomponent till det mindre heltalet. Metodens funktion skiljer sig från Ceiling metoden, som stöder avrundning mot positiv oändlighet.

Se även

Gäller för

Floor(Double)

Returnerar det största integralvärdet mindre än eller lika med det angivna flyttalsnumret med dubbel precision.

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

Parametrar

d
Double

Ett flyttal med dubbel precision.

Returer

Det största integralvärdet som är mindre än eller lika med d. Om d är lika med NaN, NegativeInfinity, eller PositiveInfinity, returneras det värdet.

Exempel

Följande exempel illustrerar Math.Floor(Double) metoden och kontrasterar den med Ceiling(Double) metoden.

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

Kommentarer

Beteendet för den här metoden följer IEEE Standard 754, avsnitt 4. Den här typen av avrundning kallas ibland avrundning mot negativ oändlighet. Med andra ord, om d är positiv trunkeras alla bråkkomponenter. Om d det är negativt avrundas förekomsten av en delkomponent till det mindre heltalet. Metodens funktion skiljer sig från Ceiling metoden, som stöder avrundning mot positiv oändlighet.

Från och med Visual Basic 15.8 optimeras prestandan för dubbel-till-heltalskonvertering om du skickar värdet som returneras av metoden Floor till någon av integralkonverteringsfunktionerna, eller om värdet Double som returneras av Floor automatiskt konverteras till ett heltal med Option Strict inställt på Av. Den här optimeringen gör att koden kan köras snabbare – upp till dubbelt så snabbt för kod som utför ett stort antal konverteringar till heltalstyper. I följande exempel visas sådana optimerade konverteringar:

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

Se även

Gäller för