为什么这个计算会继续返回0

时间:2014-09-29 21:51:42

标签: c# methods

我有一个程序需要处理该类别中宗地的百分比。有8个不同的类别,每个类别应该给出一个百分比,但即使100%的包都属于该类别,它们都返回0%。我有一个方法,我打电话来计算百分比。

这是调用方法的地方(还有另外7个实例)

Console.WriteLine("\nCategory 1: {0} packets. {1} %", cat1, workout(cat1, totalpackets));

这是方法。如果您需要更多细节,请询问!

private static double workout(int cat, int totalpacks)
    {
        double percentage;

        percentage = cat / totalpacks * 100;

        return percentage;
    }   

1 个答案:

答案 0 :(得分:0)

cat / totalpacks * 100

使用整数运算来计算该表达式。如果cat小于totalpacks(假设两者都是正数),那么cat / totalpacks的计算结果为零。您需要强制使用浮点运算。例如:

private static double workout(int cat, int totalpacks)
{
    return (double)cat / totalpacks * 100;
}