当我划分两个整数时,我正在尝试确定结果是否为整数.我怎么做?
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 ...我做错了吗?编辑:让它工作......编译器出错了我猜...
您可以使用模运算符(%)来轻松检查它,该运算符在一个数字除以另一个数字后查找余数:
if(number1 % number2 == 0)
{
// result of division is integral
// or in other words: number1 / number2 = whole number
}
Run Code Online (Sandbox Code Playgroud)
请注意,number1并number2必须以整数为模工作.
您还必须至少投射一个整数float,以便得到float它们的除法结果.
float result = (float)number1 / number2;
Run Code Online (Sandbox Code Playgroud)
您可以在此处阅读有关模运算符的更多信息:https: //en.wikipedia.org/wiki/Modulo_operation
编辑:纳入以下评论中的一些建议.