在C++中检查数字是否为整数

Checking if a number is an integer in C++

本文关键字:是否 整数 数字 检查 C++      更新时间:2023-10-16

我正在寻找一种方法来检查某个变量是否包含整数。我的程序要求用户输入一组变量的值,然后计算使另一个变量e为整数所需的变量k。计算k的代码本质上是一个for循环,它从零开始递增k,直到它达到使e成为整数的值。但是我不知道如何检验e是一个整数。这是我正在考虑的代码:

for (int k = 0; k!=wk; k++) 
 { 
  e = (1+k*f_n)/d;
 if()
 }

变量wk就在那里,所以当e是整数时,wk等于k,所以循环结束。

您不想检查e是否为整数。您要检查1 + k*f_n是否是d的倍数。为此使用模运算符。

if (((1 + k*f_n) % d) == 0)

假设e是浮点类型,

int u = (int) e;
if (e > (float)u || e < (float)u)
  continue;
break;

这种解决方案在模块算术的范围内会出现舍入误差。请考虑使用模数运算符。