C# で 2つの整数を除算して 2 倍の値を取得する

Luqman Khan 2023年10月12日
  1. C# の整数データ型による除算
  2. C#Double キーワードを使用して 2つの整数を除算して Double 値を取得する
  3. C#decimal.ToDouble を使用して 2つの整数を除算して Double 値を取得する
C# で 2つの整数を除算して 2 倍の値を取得する

この記事では、2つの整数を除算し、double データ型として結果を取得する方法について説明します。

C# の整数データ型による除算

整数データ型に除算演算を適用すると、完全な除算の結果のみが得られ、小数点以下のすべての値が無視されます。

次の画像は、整数データ型の値の分割を示しています。たとえば、整数データ型で 30 と 7 の 2つの数値を除算します。

code_integegers

両方の値を整数データ型で除算しようとすると、除算操作で小数点以下の最初の値が取得されます。この場合のように、30 を 7 で割ると、小数点以下の残りの値はすべて無視されるため、この演算では 30/7 の商として 4 しか得られません。

C#Double キーワードを使用して 2つの整数を除算して Double 値を取得する

この問題を克服し、小数点以下の結果の値を含めるには、データ型を整数から倍精度浮動小数点数に変換する必要があります。整数型では、小数点以下の桁数で完全な答えを得るのは直接不可能です。

したがって、(double) のみを使用して整数値を double に変換すると、小数点以下のすべての値が含まれ、除算の完全な結果が得られます。

code_double

C#decimal.ToDouble を使用して 2つの整数を除算して Double 値を取得する

開始時に double キーワードを使用して n1n2 を double に変換し、オペランド n1n2 の間で除算演算を適用すると、除算 30x7 の完全な答えが 4.28571428571429 として得られました。

以下のコードでは、除算操作を適用する前に、decimal.ToDouble を使用して整数値を double に変換しました。これらすべての値を double データ型として使用すると、良好な結果を得るのに役立ちます。

decimal_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 データ型を使用します。

関連記事 - Csharp Math