c# - 使双变量小于 1

标签 c# asp.net integer-division

在我的 ASP.NET 项目中,我做了一个使用应用程序保存选票的调查页面。我对百分比金额的制作有疑问。我试过很多东西。这是我的代码中有问题的部分:

    double x = (count / sum) ;
    double f = (count1 / sum) ;
    double g = (count2 / sum) ;
    double h = (count3 / sum) ;
    if (sum > 0)
    {
        a = (int)x * 100;
        b = (int)f * 100;
        c = (int)g * 100;
        d = (int)h * 100;
    }

我使用断点并发现问题出在 double 变量中:(count/sum) 无论如何都等于 0。

最佳答案

我假设 countsum 是整数类型。

2个整数相除的结果是一个截断的整数。

您需要将除法的一侧转换为 double,那么结果将为 double

所以

((double)count)/sum

关于c# - 使双变量小于 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24003643/

相关文章:

assembly - 如何在 ARM 上进行整数(有符号或无符号)除法?

c# - 如何证明返回 IEnumerable 的方法被调用了两次?

asp.net - User.IsInRole 返回 false

c# - ApplicationSignInManager 类抛出无效的转换异常

c - 对常量和变量进行除法运算有什么区别

c++ - 为什么cout的输出<< 7/9*9;是零吗?

c# - 固定长度的正则表达式数字模式

c# - 如何联合两个 List<T> 并将结果分配给第三个 List<T>?

c# - 在 .Net 中,许多静态类是线程安全的,这是如何实现的?

asp.net - 如何在 ASP.NET 4.0 中进行 301 重定向?