如何判断两个整数的结果是否为float的整数?

Ale*_*ski -5 c++ integer

当我划分两个整数时,我正在尝试确定结果是否为整数.我怎么做?

float result;
int number1, number2;
cout<<"Give me number 1 and 2"<<endl;
cin>>number1;
cin>>number2;
result = number1 / number2;
if(result == int)
{
   cout<<"The numbers can be devided"<<endl;
}else cout<<"The numbers can't be devided"<<endl;
Run Code Online (Sandbox Code Playgroud)

我得到错误,因为你不能这样做,有人能帮我一把吗?它让我烦恼,每个帖子都告诉我,如何检查输入是否为整数,而不是结果.我不关心输入,我想知道结果是否为整数.感谢帮助!

编辑:

所以我的函数看起来像这样:

int funkcijaDva()
{
    int popizdobom = 0;
    int tri = 3;
    int tristo = 300;
    int tritisoc = 3000;
    float result;
    for(; tristo!=tritisoc;tristo++)
    {
        result = (int)tristo / tri;
        if(tri % tristo == 0)
        {
            popizdobom++;
        }
    }
    return popizdobom;
}
Run Code Online (Sandbox Code Playgroud)

popizdobom的结果总是0 ...我做错了吗?编辑:让它工作......编译器出错了我猜...

oo_*_*uel 8

您可以使用运算符(%)来轻松检查它,该运算符在一个数字除以另一个数字后查找余数:

if(number1 % number2 == 0) 
{
  // result of division is integral 
  // or in other words: number1 / number2 = whole number
}
Run Code Online (Sandbox Code Playgroud)

请注意,number1number2必须以整数为模工作.

您还必须至少投射一个整数float,以便得到float它们的除法结果.

float result = (float)number1 / number2;
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关运算符的更多信息:https: //en.wikipedia.org/wiki/Modulo_operation


编辑:纳入以下评论中的一些建议.

  • @AlexVandalowski我使用modulo运算符,它在C和C++中写为%.您可以在维基百科上阅读有关此运算符的更多信息.(我提供了一个链接). (4认同)
  • @AlexVandalowski:你自己做一些研究怎么样?"C运营商"将找到您需要的所有信息.不要依赖别人解释你的每一点点. (2认同)