有没有办法检查变量是否是整数?C++

Bil*_*ljk 7 c++ variables floating-point function

我需要检查变量是否是整数,比如我有代码:

double foobar = 3;
//Pseudocode
if (foobar == whole)
    cout << "It's whole";
else
    cout << "Not whole";
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

lau*_*ent 14

假设foobar实际上是浮点值,您可以将其舍入并将其与数字本身进行比较:

if (floor(foobar) == foobar)
    cout << "It's whole";
else
    cout << "Not whole";
Run Code Online (Sandbox Code Playgroud)


Pep*_*epe 5

您使用的是 int 所以它总是一个“整数”。但是如果你使用的是 double 那么你可以做这样的事情

double foobar = something;
if(foobar == static_cast<int>(foobar))
   return true;
else
   return false;
Run Code Online (Sandbox Code Playgroud)