使用 floor(c++) 的向下舍入函数

round down function using floor(c++)

我想制作一个简单的函数,在一个条件下将双精度值向下舍入为整数。如果它向下舍入为零,我希望它为 return 1.

这是我做的。

int Round(double number)
{
    int result;
    result=floor(number);
    if(result=0){result=1;}
    return result;
}

但不知何故它总是 returns 0...知道我的代码有什么问题吗?

它是在 visual studio 2010 年用 c++ 完成的。

result = 0 会将其值赋给 0。你想要 == 而不是。

=用于赋值。使用==进行比较:

if(result==0){result=1;}