[C#]Math.Round()のMidpointRounding.ToEvenとは?

C#

どうも、ちょげ(@chogetarou)です。

Math.Round()のMidpointRounding.ToEvenについて解説します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Math.Round()のMidpointRounding.ToEvenは、「銀行丸め」と呼ばれる四捨五入の方法です。

「銀行丸め」とは、「5」を四捨五入で、結果が偶数になるようにする方法です。

例えば、「12.5」の小数点第一位を四捨五入した通常の結果は、「13」です。

ですが、「銀行丸め」を使用した場合は、「12.5」の小数点第一位を四捨五入した結果が偶数になるので、四捨五入の結果は「12」になります。

Math.Round()の引数にMidpointRounding.ToEvenを指定することで、Math.Round()を上記の「銀行型丸め」の方法で四捨五入できます。

「MidpointRounding.ToEven」は、直訳すると「中間点の四捨五入は偶数にする」です。

言い換えると、「5(中間点)の四捨五入は偶数になる方にする」ということです。

また、「銀行丸め」という名前は、銀行員が好んで使うことに由来しています。

MidpointRounding.ToEvenの使用例

using System;
public class Example
{
	public static void Main()
	{
		double num1 = Math.Round(2.5, MidpointRounding.ToEven);
		double num2 = Math.Round(1.455, 2, MidpointRounding.ToEven);
		double num3 = Math.Round(25.65, 1, MidpointRounding.ToEven);
		
		Console.WriteLine(num1); //2
		Console.WriteLine(num2); //1.46
		Console.WriteLine(num3); //25.6
 	}
}

まとめ

Math.Round()のMidpointRounding.ToEvenは、「銀行丸め」という四捨五入の手法。

Math.Round()の引数にMidpointRounding.ToEvenを指定することで、Math.Round()を「銀行丸め」の手法にできる。

コメント

タイトルとURLをコピーしました