[ VB.NET / C# ] 小数点第 n 位で四捨五入する – Math.Round

Pocket

VB.net や C# で四捨五入するには、Math.Round メソッドを利用して行うことができます。 なお、ここで示すサンプルは .Net Framework2.0 から追加されたメソッドを使用しているので、それ以前の環境では使用することができないので注意してください。

と言いいましても、注意する必要がある人は 2016年現在、ほんの僅かな人だと思います。

スポンサーリンク

四捨五入のサンプルコード Math.Round

以下にVB.net と C# でのサンプルコードをそれぞれ示します。詳細はサンプル内のコメントを参照ください。

VB.NET

  Dim result As Decimal

 ' 小数点第一位で四捨五入し、整数で出力
 result = Math.Round(1.49, 0, MidpointRounding.AwayFromZero)
 Console.WriteLine(result) ' 出力:1

 result = Math.Round(1.5, 0, MidpointRounding.AwayFromZero)
 Console.WriteLine(result) ' 出力:2

 ' 小数点第三位で四捨五入し、小数点第二位まで出力
 result = Math.Round(1.404, 2, MidpointRounding.AwayFromZero)
 Console.WriteLine(result) ' 出力:1.4

 result = Math.Round(1.405, 2, MidpointRounding.AwayFromZero)
 Console.WriteLine(result) ' 出力:1.41

C#

  Decimal result;

  // 小数点第一位で四捨五入し、整数で出力
  result = Math.Round(1.49m, 0, MidpointRounding.AwayFromZero);
  Console.WriteLine(result); // 出力:1
  
  result = Math.Round(1.5m, 0, MidpointRounding.AwayFromZero);
  Console.WriteLine(result); // 出力:2

  // 小数点第三位で四捨五入し、小数点第二位まで出力
  result = Math.Round(1.404m, 2, MidpointRounding.AwayFromZero);
  Console.WriteLine(result); // 出力:1.4
  
  result = Math.Round(1.405m, 2, MidpointRounding.AwayFromZero);
  Console.WriteLine(result); // 出力:1.41

Math.Round メソッドの第3パラメータに、MidpointRounding.ToEven を与えることで 最近接偶数丸め(銀行丸め)を行うこともできます。

参考
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *