数学运算总是返回 0 c#

Jim*_*Jim -2 c#

我有计算百分比并返回 int 值的 c# 程序,但它总是返回 0。

我已经编写了 16 个基本小时的代码,所以如果您发现其中的错误,我将不胜感激。

我调试了我的代码,发现该值被正确传递。

private int returnFlag(int carCapacity, int subscribers)
{
    int percentage = (subscribers / carCapacity)*100;
    return percentage;
}
Run Code Online (Sandbox Code Playgroud)

Gra*_*ICA 5

您看到的是对两个整数进行运算并丢失小数部分的结果。

这段代码,当使用值 5 和 14 时,将截断为 0:

(subscribers / carCapacity)
Run Code Online (Sandbox Code Playgroud)

您需要将操作数之一转换为双精度或十进制:

private int returnFlag(int carCapacity, int subscribers)
{
    decimal percentage = ((decimal)subscribers / carCapacity) * 100;

    return (int)percentage;
}
Run Code Online (Sandbox Code Playgroud)