下面fhr_1
的值计算为0.0
为什么 fhr_1
不是 0.3?
double fhr_1;
int n_fhr_1 = 9;
int n_fhr_0 = 15;
int n_fhr_2 = 6;
fhr_1 = n_fhr_1/(n_fhr_1 + n_fhr_0 + n_fhr_2);
最佳答案
您至少需要一个double
类型的操作数。否则你会得到整数结果(整数除法会发生)
fhr_1 = (double)n_fhr_1/(n_fhr_1 + n_fhr_0 + n_fhr_2);
或者
fhr_1 = n_fhr_1/(double)(n_fhr_1 + n_fhr_0 + n_fhr_2);
或者
fhr_1 = n_fhr_1 / ((double)n_fhr_1 + n_fhr_0 + n_fhr_2);
您可以在 msdn 上阅读更多关于划分规则的信息.
关于c# - 除法不返回 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13616043/