Math.Floor Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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