c# - 除法不返回 double

标签 c# double rounding

下面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/

相关文章:

c# - 在 lambda 表达式中使用 foreach 循环的迭代器变量 - 为什么会失败?

c# - Entity Framework 中的条件包含()

c++ - 有没有更好的方法来检查一个值是否大于 double 类型?

Java - 将 byte[] 转换为 double[],反之亦然

python不正确的 float 舍入

c# - 用于链接 iPhone、Android 和 .net 桌面应用程序的 Direct Connect P2P 库

c# - 如何将EventsTab插入PropertyGrid?

wpf - 使用 Xaml 和 WPF,如何在单击时为属性设置动画,然后在连续单击时反转

PHP计算除法的整数

python - 用 Python 比较贷款