2つの整数を分割してdoubleにするにはどうすればよいですか?
数字をキャストしたい:
double num3 = (double)num1/(double)num2;
注:C#の引数のいずれかがdouble
の場合、double
除算が使用され、double
になります。したがって、以下も機能します。
double num3 = (double)num1/num2;
詳細については、以下を参照してください。
@NoahDの答えを補完する
精度を上げるには、10進数にキャストできます。
(decimal)100/863
//0.1158748551564310544611819235
または:
Decimal.Divide(100, 863)
//0.1158748551564310544611819235
Doubleは64ビットを割り当てて表され、decimalは128ビットを使用します
(double)100/863
//0.11587485515643106
バイナリでの浮動小数点表現とその精度の詳細については、 この記事 Jon Skeetのfloats
とdoubles
と this one 彼がdecimals
について話す場所。
整数をdoubleにキャストします。
それらの1つを最初にdoubleに変換します。このフォームは多くの言語で機能します:
real_result = (int_numerator + 0.0) / int_denominator
var firstNumber=5000,
secondeNumber=37;
var decimalResult = decimal.Divide(firstNumber,secondeNumber);
Console.WriteLine(decimalResult );