[C#]doubleを四捨五入してintに変換するには?

C#

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

double型の小数を四捨五入してint型の整数に変換する方法を紹介します。

スポンサーリンク

方法

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

double型の小数を四捨五入してint型の整数する方法は、2つあります。

Math.Round()

1つは、Math.Round()を使う方法です。

まず、先頭に(int)を付けたMath.Round()を呼び出します。

そして、Math.Round()の引数にdouble型の値を指定します。

(int)Math.Round(doubleValue);

上記のMath.Round()は、引数に指定したdoubleを四捨五入したintの数値を返します。

使用例

using System;
public class Example
{
	public static void Main()
	{
	   
		int num1 = (int)Math.Round(2.71);
		int num2 = (int)Math.Round(1.455);
		int num3 = (int)Math.Round(26.5);
		
		Console.WriteLine(num1); //3
		Console.WriteLine(num2); //1
		Console.WriteLine(num3); //27
		
 	}
}

Convert.ToInt32

もう1つは、Convert.ToInt32()を使う方法です。

まず、Convert.ToInt32()を呼び出します。

そして、Convert.ToInt32()の引数にdoubleの数値を指定します。

Convert.ToInt32(doubleValue);

上記のConvert.ToInt32()は、引数に指定したdoubleを四捨五入したintの数値を返します。

Convert.ToInt32()は、銀行丸めで四捨五入します。

なので、「5」を四捨五入する場合は、通常の四捨五入とは処理が異なります。

使用例

using System;
public class Example
{
	public static void Main()
	{
	   
		int num1 = Convert.ToInt32(2.71);
		int num2 = Convert.ToInt32(1.455);
		int num3 = Convert.ToInt32(26.5);
		
		Console.WriteLine(num1); //3
		Console.WriteLine(num2); //1
		Console.WriteLine(num3); //26
		
 	}
}

まとめ

double型の小数を四捨五入してint型の整数に変換する方法は、次の2つです。

  • Math.Rount()を使う方法
  • Convert.ToInt32()を使う方法

コメント

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