C# で 2つの整数を除算して 2 倍の値を取得する
-
C#
の整数データ型による除算 -
C#
でDouble
キーワードを使用して 2つの整数を除算して Double 値を取得する -
C#
でdecimal.ToDouble
を使用して 2つの整数を除算して Double 値を取得する
この記事では、2つの整数を除算し、double データ型として結果を取得する方法について説明します。
C#
の整数データ型による除算
整数データ型に除算演算を適用すると、完全な除算の結果のみが得られ、小数点以下のすべての値が無視されます。
次の画像は、整数データ型の値の分割を示しています。たとえば、整数データ型で 30 と 7 の 2つの数値を除算します。
両方の値を整数データ型で除算しようとすると、除算操作で小数点以下の最初の値が取得されます。この場合のように、30 を 7 で割ると、小数点以下の残りの値はすべて無視されるため、この演算では 30/7
の商として 4 しか得られません。
C#
で Double
キーワードを使用して 2つの整数を除算して Double 値を取得する
この問題を克服し、小数点以下の結果の値を含めるには、データ型を整数から倍精度浮動小数点数に変換する必要があります。整数型では、小数点以下の桁数で完全な答えを得るのは直接不可能です。
したがって、(double)
のみを使用して整数値を double に変換すると、小数点以下のすべての値が含まれ、除算の完全な結果が得られます。
C#
で decimal.ToDouble
を使用して 2つの整数を除算して Double 値を取得する
開始時に double
キーワードを使用して n1
と n2
を double に変換し、オペランド n1
と n2
の間で除算演算を適用すると、除算 30x7 の完全な答えが 4.28571428571429 として得られました。
以下のコードでは、除算操作を適用する前に、decimal.ToDouble
を使用して整数値を double に変換しました。これらすべての値を double データ型として使用すると、良好な結果を得るのに役立ちます。
以下は、この記事で使用されている完全なコード部分です。
using System;
public class Division {
public static void Main(string[] args) {
int n1, n2;
n1 = 30;
n2 = 7;
int result = n1 / n2;
Console.WriteLine("result of normal integer division:" + result + "\n");
double res = decimal.ToDouble(n1) / decimal.ToDouble(n2);
Console.WriteLine("result by converting to double through decimal.ToDouble() is " + res + "\n");
res = (double)n1 / (double)n2;
Console.WriteLine("result by converting to double through (double) is " + res + "\n");
Console.Read();
}
}
除算を適用する必要があるときはいつでも、オペランドのデータ型をチェックすることを優先する必要があります。データ型が整数の場合、計算エラーが発生する可能性があります。
これは論理的な誤りであり、正確な答えが得られないため、科学的な計算では重大な問題を引き起こす可能性があります。機密性の高い計算に関連する問題を回避するために、すでにクリアされています。そのデータ型を確認する必要があります。
正確な結果を得るには、2 倍にする必要があります。メインのデータ型は整数のままです。正確な結果を得るために、double データ型を使用します。