Aracılığıyla paylaş


Decimal.Floor(Decimal) Yöntem

Tanım

Belirtilen Decimal sayıyı negatif sonsuzluğa doğru en yakın tamsayıya yuvarlar.

public:
 static System::Decimal Floor(System::Decimal d);
public:
 static System::Decimal Floor(System::Decimal d) = System::Numerics::IFloatingPoint<System::Decimal>::Floor;
public static decimal Floor (decimal d);
static member Floor : decimal -> decimal
Public Shared Function Floor (d As Decimal) As Decimal

Parametreler

d
Decimal

Yuvarlanacak değer.

Döndürülenler

Kesirli bir parça varsa d , negatif sonsuzluğa doğru bir sonraki tamsayı Decimal değerinden dküçüktür.

-veya-

Kesirli bir bölüm yoksa d , d değiştirilmeden döndürülür. yönteminin türünde Decimalbir tam sayı değeri döndürdüğünü unutmayın.

Uygulamalar

Örnekler

Aşağıdaki örnek yöntemini gösterir Floor ve yöntemiyle karşıtlık Ceiling sağlar.

using System;

public class Example
{
   public static void Main()
   {
      decimal[] values = {12.6m, 12.1m, 9.5m, 8.16m, .1m, -.1m,  -1.1m,
                          -1.9m, -3.9m};
      Console.WriteLine("{0,-8} {1,10} {2,10}\n",
                        "Value", "Ceiling", "Floor");
      foreach (decimal value in values)
      Console.WriteLine("{0,-8} {1,10} {2,10}", value,
                        Decimal.Ceiling(value), Decimal.Floor(value));
   }
}
// The example displays the following output:
//       Value       Ceiling      Floor
//
//       12.6             13         12
//       12.1             13         12
//       9.5              10          9
//       8.16              9          8
//       0.1               1          0
//       -0.1              0         -1
//       -1.1             -1         -2
//       -1.9             -1         -2
//       -3.9             -3         -4
open System

let values = 
    [ 12.6m; 12.1m; 9.5m; 8.16m; 0.1m; -0.1m;  -1.1m; -1.9m; -3.9m ]

printfn "%-8s %10s %10s\n" "Value" "Ceiling" "Floor"

for value in values do
    printfn $"%-8O{value} %10O{Decimal.Ceiling value} %10O{Decimal.Floor value}"

// The example displays the following output:
//       Value       Ceiling      Floor
//
//       12.6             13         12
//       12.1             13         12
//       9.5              10          9
//       8.16              9          8
//       0.1               1          0
//       -0.1              0         -1
//       -1.1             -1         -2
//       -1.9             -1         -2
//       -3.9             -3         -4
Module Example
   Public Sub Main()
      Dim values() As Decimal = {12.6d, 12.1d, 9.5d, 8.16d, .1d, -.1d,  
                                 -1.1d, -1.9d, -3.9d}
      Console.WriteLine("{0,-8} {1,10} {2,10}", 
                        "Value", "Ceiling", "Floor")
      Console.WriteLine()
      For Each value As Decimal In values
      Console.WriteLine("{0,-8} {1,10} {2,10}", value,
                        Decimal.Ceiling(value), Decimal.Floor(value))
      Next                                     
   End Sub
End Module
' The example displays the following output:
'       Value       Ceiling      Floor
'       
'       12.6             13         12
'       12.1             13         12
'       9.5              10          9
'       8.16              9          8
'       0.1               1          0
'       -0.1              0         -1
'       -1.1             -1         -2
'       -1.9             -1         -2
'       -3.9             -3         -4

Açıklamalar

Bu yöntemin davranışı IEEE Standard 754, Bölüm 4'e göredir. Bu tür yuvarlamaya bazen eksi sonsuza doğru yuvarlama denir. Başka bir deyişle, pozitifse d , kesirli bileşenler kesilir. Negatifse d , herhangi bir kesirli bileşenin varlığı, daha küçük tamsayıya yuvarlanmasını neden olur. Bu yöntemin çalışması, pozitif sonsuzluğa yuvarlama işlemini destekleyen yöntemden Ceiling farklıdır.

Şunlara uygulanır

Ayrıca bkz.