C#の丸め処理(切捨て・切り上げ・四捨五入)

サラトガIT日記 > .NET C# > C#の丸め処理(切捨て・切り上げ・四捨五入) C#の丸め処理(切捨て・切り上げ・四捨五入)

※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい

2011-02-07

 

先日 PHP で 小数点以下の四捨五入や切捨て をチェックしていたので、ついでに C# ではどうなのか確認してみました。C# は小数点以下も Math クラス内のメソッドで対応してくれているので楽です。

Math クラスの Round メソッドの引数には、「decimal 型の対象の数値」「丸めたい小数点」「丸め方(四捨五入の他に最近接偶数への丸めがある)」の 3 つが必要になります。

using System;

namespace sisha
{
    class Program
    {
        static void Main(string[] args)
        {
            // 小数点第2位を四捨五入
            decimal d1 = Math.Round(12.345m, 1, MidpointRounding.AwayFromZero);
            Console.WriteLine(d1); // 12.3

            // 小数点第3位を四捨五入
            decimal d2 = Math.Round(12.345m, 2, MidpointRounding.AwayFromZero);
            Console.WriteLine(d2); // 12.35
        }
    }
}

また、切り捨てや切り上げも Math クラスにメソッドが用意されています。

// 切り捨て
decimal d1 = Math.Floor(12.345m);

// 切り上げ
decimal d2 = Math.Ceiling(12.345m);

関連記事

上記の記事に関連する記事(最新の10件)です。