用C#划分数学

Wil*_*iam 3 c# math double

这有一个可能很简单的答案,但我无法弄清楚 -

double Result = 1 / 12;
Run Code Online (Sandbox Code Playgroud)

返回0,而

double Result2 = 24 / 12;
Run Code Online (Sandbox Code Playgroud)

返回2

发生了什么,我该如何解决?

And*_*are 8

试试这个:

double Result = 1 / (double)12;
Run Code Online (Sandbox Code Playgroud)

或这个:

double Result = 1 / 12D;
Run Code Online (Sandbox Code Playgroud)

在C#(以及许多其他语言)中,整数除法返回一个整数.通过将一个操作数强制转换为double或明确声明一个文字,double您可以强制除法表达式返回double小数位后的截断而不截断.