如何将两个整数除以得到一个双精度?
你想要输出数字:
double num3 = (double)num1/(double)num2;
注意:如果C#中的任何参数是a double
,double
则使用除以得到a的除法double
.所以,以下也适用:
double num3 = (double)num1/num2;
有关更多信息,请参阅
Dot Net Perls
补充@NoahD的答案
要获得更高的精度,可以转换为十进制:
(decimal)100/863 //0.1158748551564310544611819235
要么:
Decimal.Divide(100, 863) //0.1158748551564310544611819235
Double表示分配64位,而decimal表示128
(double)100/863 //0.11587485515643106
有关二进制浮点表示,精度更多的细节来看看这篇文章从乔恩斯基特,他谈到floats
与doubles
和这一个地方他谈到decimals
.
将整数转换成双打.
将其中一个转换为双倍优先.此表单适用于多种语言:
real_result = (int_numerator + 0.0) / int_denominator