英語で読む

次の方法で共有


Math.Floor メソッド

定義

指定した数値以下の最大値を返します。

オーバーロード

Floor(Decimal)

指定した 10 進数以下の最大値を返します。

Floor(Double)

指定した倍精度浮動小数点数以下の最大整数値を返します。

注釈

このメソッドの動作は、IEEE Standard 754 セクション 4 に従います。 この種の丸めは、負の無限大への丸めと呼ばれることもあります。

Floor(Decimal)

ソース:
Math.cs
ソース:
Math.cs
ソース:
Math.cs

指定した 10 進数以下の最大値を返します。

C#
public static decimal Floor(decimal d);

パラメーター

d
Decimal

10 進数。

戻り値

d以下の最大値。 このメソッドは、Decimal型の整数値を返します。

次の例では、Math.Floor(Decimal) メソッドを示し、Ceiling(Decimal) メソッドと比較します。

C#
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

注釈

このメソッドの動作は、IEEE Standard 754 セクション 4 に従います。 この種の丸めは、負の無限大への丸めと呼ばれることもあります。 つまり、d が正の場合、小数部は切り捨てられます。 d が負の値の場合、小数部が存在すると、小さい整数に丸められます。 この方法の動作は、正の無限大への丸めをサポートする Ceiling メソッドとは異なります。

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Floor(Double)

ソース:
Math.cs
ソース:
Math.cs
ソース:
Math.cs

指定した倍精度浮動小数点数以下の最大整数値を返します。

C#
public static double Floor(double d);

パラメーター

d
Double

倍精度浮動小数点数。

戻り値

d以下の最大値。 dNaNNegativeInfinity、または PositiveInfinityと等しい場合は、その値が返されます。

次の例では、Math.Floor(Double) メソッドを示し、Ceiling(Double) メソッドと比較します。

C#
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

注釈

このメソッドの動作は、IEEE Standard 754 セクション 4 に従います。 この種の丸めは、負の無限大への丸めと呼ばれることもあります。 つまり、d が正の場合、小数部は切り捨てられます。 d が負の値の場合、小数部が存在すると、小さい整数に丸められます。 この方法の動作は、正の無限大への丸めをサポートする Ceiling メソッドとは異なります。

Visual Basic 15.8 以降では、 メソッドによって返される値を整数変換関数に渡す場合、または によって返される Double 値が自動的に Option Strict Off に設定された整数に変換される場合、Double から整数への変換のパフォーマンスが最適化されます。 この最適化により、整数型への多数の変換を行うコードの場合、コードの実行速度を最大で 2 倍速くできます。 このような最適化された変換の例を次に示します。

VB
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

こちらもご覧ください

適用対象

.NET 10 およびその他のバージョン
製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0