web-dev-qa-db-ja.com

2つの整数を分割してdoubleにするにはどうすればよいですか?

2つの整数を分割してdoubleにするにはどうすればよいですか?

230
leora

数字をキャストしたい:

double num3 = (double)num1/(double)num2;

注:C#の引数のいずれかがdoubleの場合、double除算が使用され、doubleになります。したがって、以下も機能します。

double num3 = (double)num1/num2;

詳細については、以下を参照してください。

ドットネットPerl

385
NoahD

@NoahDの答えを補完する

精度を上げるには、10進数にキャストできます。

(decimal)100/863
//0.1158748551564310544611819235

または:

Decimal.Divide(100, 863)
//0.1158748551564310544611819235

Doubleは64ビットを割り当てて表され、decimalは128ビットを使用します

(double)100/863
//0.11587485515643106

「精度」の詳細説明

バイナリでの浮動小数点表現とその精度の詳細については、 この記事 Jon Skeetのfloatsdoublesthis one 彼がdecimalsについて話す場所。

26

整数をdoubleにキャストします。

10

それらの1つを最初にdoubleに変換します。このフォームは多くの言語で機能します:

 real_result = (int_numerator + 0.0) / int_denominator
5
Mark Ransom
var firstNumber=5000,
secondeNumber=37;

var decimalResult = decimal.Divide(firstNumber,secondeNumber);

Console.WriteLine(decimalResult );
0
Rejwanul Reja