Math.Floor Math.Floor Math.Floor Math.Floor Method

定義

指定した数以下の数のうち、最大の整数値を返します。Returns the largest integral value less than or equal to the specified number.

オーバーロード

Floor(Double) Floor(Double) Floor(Double) Floor(Double)

指定した倍精度浮動小数点数以下の数のうち、最大の整数値を返します。Returns the largest integral value less than or equal to the specified double-precision floating-point number.

Floor(Decimal) Floor(Decimal) Floor(Decimal) Floor(Decimal)

指定した 10 進数以下の数のうち、最大の整数値を返します。Returns the largest integral value less than or equal to the specified decimal number.

注意

この記事の C# 例は、Try.NET インライン コード ランナーとプレイグラウンドで実行されます。The C# examples in this article run in the Try.NET inline code runner and playground. [実行] ボタンを選択すると、対話型ウィンドウで例が実行されます。Select the Run button to run an example in an interactive window. コードを実行したら、コードを変更し、 [実行] をもう一度選択して変更後のコードを実行できます。Once you execute the code, you can modify it and run the modified code by selecting Run again. 変更後のコードが対話型ウィンドウで実行されるか、コンパイルできなかった場合、対話型ウィンドウにすべての C# コンパイラ エラー メッセージが表示されます。The modified code either runs in the interactive window or, if compilation fails, the interactive window displays all C# compiler error messages.

注釈

このメソッドの動作は、IEEE Standard 754 のセクション4に従います。The behavior of this method follows IEEE Standard 754, section 4. この種類の丸め処理は、負の無限大方向の丸めと呼ばれることもあります。This kind of rounding is sometimes called rounding toward negative infinity.

Floor(Double) Floor(Double) Floor(Double) 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

パラメーター

d
Double Double Double Double

倍精度浮動小数点数。A double-precision floating-point number.

戻り値

d 以下の最大の整数値。The largest integral value less than or equal to d. dNaNNegativeInfinityPositiveInfinity のいずれかに等しい場合は、その値が返されます。If d is equal to NaN, NegativeInfinity, or PositiveInfinity, that value is returned.

次の例ではMath.Floor(Double) 、メソッドについて説明Ceiling(Double)し、メソッドと比較します。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
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

注釈

このメソッドの動作は、IEEE Standard 754 のセクション4に従います。The behavior of this method follows IEEE Standard 754, section 4. この種類の丸め処理は、負の無限大方向の丸めと呼ばれることもあります。This kind of rounding is sometimes called rounding toward negative infinity. つまり、が正のd場合、小数部分は切り捨てられます。In other words, if d is positive, any fractional component is truncated. d負の値の場合は、小数部分が存在することにより、それより小さい整数に丸められます。If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. このメソッドの操作は、正のCeiling無限大方向への丸め処理をサポートするメソッドとは異なります。The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

Visual Basic 15.8 以降では、 Floorメソッドによって返された値を任意の整数変換関数に渡した場合、またはによってFloor返された double 値がの場合に、倍精度整数変換のパフォーマンスが最適化されます。は、 Option Strictが Off に設定されている整数に自動的に変換されます。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. この最適化によって、コードをより速く実行できます。大きい数値の整数型への変換を行うコードでは、最大で 2 倍速くなります。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.Ceiling(d1))        ' Result: 1043

Dim d2 As Double = 7968.4136
Dim i2 As Integer = CInt(Math.Ceiling(d2))        ' Result: 7968
こちらもご覧ください

Floor(Decimal) Floor(Decimal) Floor(Decimal) Floor(Decimal)

指定した 10 進数以下の数のうち、最大の整数値を返します。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

パラメーター

d
Decimal Decimal Decimal Decimal

10 進数。A decimal number.

戻り値

d 以下の最大の整数値。The largest integral value less than or equal to d. このメソッドは、Decimal 型の整数値を返すことに注意してください。Note that the method returns an integral value of type Decimal.

次の例ではMath.Floor(Decimal) 、メソッドについて説明Ceiling(Decimal)し、メソッドと比較します。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
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

注釈

このメソッドの動作は、IEEE Standard 754 のセクション4に従います。The behavior of this method follows IEEE Standard 754, section 4. この種類の丸め処理は、負の無限大方向の丸めと呼ばれることもあります。This kind of rounding is sometimes called rounding toward negative infinity. つまり、が正のd場合、小数部分は切り捨てられます。In other words, if d is positive, any fractional component is truncated. d負の値の場合は、小数部分が存在することにより、それより小さい整数に丸められます。If d is negative, the presence of any fractional component causes it to be rounded to the smaller integer. このメソッドの操作は、正のCeiling無限大方向への丸め処理をサポートするメソッドとは異なります。The operation of this method differs from the Ceiling method, which supports rounding toward positive infinity.

こちらもご覧ください

適用対象