この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

MidpointRounding 列挙型

 

公開日: 2016年10月

数値の丸め処理を行うメソッドで、2 つの数値の中間に位置する数値を処理する方法を指定します。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

[ComVisibleAttribute(true)]
public enum MidpointRounding

メンバー名説明
AwayFromZero

数値が 2 つの数値の中間に位置するときに、ゼロから遠い方の近似値に丸められます。

ToEven

数値が 2 つの数値の中間に位置するときに、最も近い偶数方向に丸められます。

使用してMidpointRoundingの適切なオーバー ロードを持つMath.Round丸め処理の詳細に制御を提供します。

丸め操作は、暗黙的または指定された有効桁数を持つ;、元の数を受け取ります有効桁数に 1 を加えた; にある次の桁を調べます元の番号として同じ有効桁数を持つ最も近い数を返します。 、正の数値の場合は 0 ~ 4 では、次の桁に最も近いを負の無限大方向です。 次の桁が 6 ~ 9 の場合は、最も近い値は正の無限大方向です。 負の数値の場合は 0 ~ 4 では、次の桁に最も近い数を正の無限大に向かってです。 次の桁が 6 ~ 9 の場合は、最も近い数値が負の無限大方向です。

以前の場合、MidpointRounding列挙型では、丸め処理の結果には影響しません。 ただし場合は、[次へ] が 5、2 つの起こり得る結果の中間にあるすべての残りの桁がゼロまたは残りの数字がない、最も近い値があいまいです。 ここで、MidpointRounding列挙体を使用すると、丸め処理がゼロまたは最も近い偶数から最も近い値を返すかどうかを指定します。

次の表の値と組み合わせて、いくつか負または正の数値を丸めた結果を示してMidpointRoundingです。 数値を丸めるに使用される精度とは 0 で、整数部の桁数に影響を与える、丸め処理後の数を意味します。 たとえば、数値-2.5 の場合、小数点後の数字は 5 です。 その数字に中間点があるために、使用できます、MidpointRounding丸め処理の結果を決定する値。 場合AwayFromZero-3 が返されるは、最も近い有効桁数がゼロから遠い方の数 0 であるためを指定します。 場合ToEvenを指定すると、最も近い偶数の有効桁数が 0 になっているために、-2 が返されます。

元の番号

AwayFromZero

ToEven

3.5

4

4

2.8

3

3

2.5

3

2

2.1

2

2

-2.1

-2

-2

-2.5

-3

-2

-2.8

-3

-3

-3.5

-4

-4

次のコード例を示しています、Roundメソッドと組み合わせて、MidpointRounding列挙します。

// This example demonstrates the Math.Round() method in conjunction 
// with the MidpointRounding enumeration.
using System;

class Sample 
{
    public static void Main() 
    {
    decimal result = 0.0m;
    decimal posValue =  3.45m;
    decimal negValue = -3.45m;

// By default, round a positive and a negative value to the nearest even number. 
// The precision of the result is 1 decimal place.

    result = Math.Round(posValue, 1);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, posValue);
    result = Math.Round(negValue, 1);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1)", result, negValue);
    Console.WriteLine();

// Round a positive value to the nearest even number, then to the nearest number away from zero. 
// The precision of the result is 1 decimal place.

    result = Math.Round(posValue, 1, MidpointRounding.ToEven);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", result, posValue);
    result = Math.Round(posValue, 1, MidpointRounding.AwayFromZero);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", result, posValue);
    Console.WriteLine();

// Round a negative value to the nearest even number, then to the nearest number away from zero. 
// The precision of the result is 1 decimal place.

    result = Math.Round(negValue, 1, MidpointRounding.ToEven);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.ToEven)", result, negValue);
    result = Math.Round(negValue, 1, MidpointRounding.AwayFromZero);
    Console.WriteLine("{0,4} = Math.Round({1,5}, 1, MidpointRounding.AwayFromZero)", result, negValue);
    Console.WriteLine();
    }
}
/*
This code example produces the following results:

 3.4 = Math.Round( 3.45, 1)
-3.4 = Math.Round(-3.45, 1)

 3.4 = Math.Round( 3.45, 1, MidpointRounding.ToEven)
 3.5 = Math.Round( 3.45, 1, MidpointRounding.AwayFromZero)

-3.4 = Math.Round(-3.45, 1, MidpointRounding.ToEven)
-3.5 = Math.Round(-3.45, 1, MidpointRounding.AwayFromZero)

*/

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
2.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Windows Phone Silverlight
8.0 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: