C# で double 値を整数値に丸めます

Muhammad Maisam Abbas 2023年10月12日
  1. C# の Math.Ceiling() 関数を使用して、double 値を整数値に丸める
  2. C# の Math.Floor() 関数を使用して、double 値を整数値に丸める
  3. C# の Math.Round() 関数を使用して、double 値を整数値に丸める
C# で double 値を整数値に丸めます

このチュートリアルでは、C# で double 値を整数値に切り上げる方法について説明します。

C# の Math.Ceiling() 関数を使用して、double 値を整数値に丸める

double 値 2.5 を整数値 3 に切り上げたい場合は、Math.Ceiling() 関数を使用する必要があります。Math.Ceiling() 関数は、10 進値を次の整数値に切り上げます。次のコード例は、C# の Math.Ceiling() 関数を使用して double 値を整数値に切り上げる方法を示しています。

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Ceiling(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

出力:

Original Value = 2.5
Rounded Value = 3

C# の Math.Ceiling() 関数を使用して、double 値 2.5 を整数値 3 に切り上げました。このアプローチの問題は、Math.Ceiling() 関数が 10 進値 2.3 を整数値 3 に変換することです。

C# の Math.Floor() 関数を使用して、double 値を整数値に丸める

double 値 2.5 を整数値 2 に切り上げたい場合は、Math.Floor() 関数を使用する必要があります。Math.Floor() 関数は、10 進値を前の整数値に切り上げます。次のコード例は、C# の Math.Floor() 関数を使用して double 値を整数値に切り上げる方法を示しています。

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Floor(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

出力:

Original Value = 2.5
Rounded Value = 2

C# の Math.Floor() 関数を使用して、double 値 2.5 を整数値 2 に切り上げました。このアプローチの問題は、Math.Floor() 関数が 10 進値 2.9 を整数値 2 に変換することです。

C# の Math.Round() 関数を使用して、double 値を整数値に丸める

Math.Round() 関数を使用して、double 値を C# で最も近い整数値に切り上げることができます。Math.Round() 関数は、最も近い整数に切り上げられた double 値を返します。次のコード例は、C# の Math.Round() 関数を使用して double 値を整数値に切り上げる方法を示しています。

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.9;
      int i = (int)Math.Round(d);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

出力:

Original Value = 2.9
Rounded Value = 3

C# の Math.Round() 関数を使用して、10 進値 2.9 を整数値 3 に切り上げました。型キャストを使用して、Math.Round() 関数によって返される double 値を整数値に変換しました。このアプローチには 1つだけ問題があります。Math.Round() 関数は、10 進値 2.5 を整数値 2 に変換します。

この問題は、Math.Round() 関数の引数に MidpointRounding.AwayFromZero を指定することで修正できます。次のコード例は、C# の Math.Round() 関数を使用して 2.53 に切り上げる方法を示しています。

using System;

namespace round_double_to_intt {
  class Program {
    static void Main(string[] args) {
      double d = 2.5;
      int i = (int)Math.Round(d, MidpointRounding.AwayFromZero);
      Console.WriteLine("Original Value = {0}", d);
      Console.WriteLine("Rounded Value = {0}", i);
    }
  }
}

出力:

Original Value = 2.5
Rounded Value = 3

C# の Math.Round() 関数で MidpointRounding.AwayFromZero パラメーターを指定することにより、10 進値 2.5 を整数値 3 に切り上げました。

上記のすべての方法は、さまざまな特定のシナリオで役立ちます。double 値を整数値に切り上げるための最悪の方法は、明示的な型キャストによるものです。これは、明示的な型キャストが小数点以下のすべての値を無視し、小数点前の整数値を返すためです。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Csharp Double