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