判断是否为整数c++
时间: 2024-09-26 22:09:45 浏览: 62
输入一个正整数,判断是不是素数(C++)
在C++中,你可以使用`std::is_integral`函数模板来判断一个类型是否是基本的整数类型,如`int`, `long`, `short`, `char`, 或者`wchar_t`等。如果你有一个变量需要检查,可以这样做:
```cpp
#include <type_traits>
template<typename T>
bool is_integer = std::is_integral_v<T>;
// 使用示例:
int i = 5;
if (is_integer<int>) {
std::cout << "i is an integer." << std::endl;
}
float f = 3.14f;
if (!is_integer<float>) {
std::cout << "f is not an integer." << std::endl;
}
```
如果你想检查某个值是否能被转换为整数,可以尝试直接转换并捕获可能出现的异常,例如`std::bad_cast`:
```cpp
bool can_convert_to_int(double d) {
try {
int i = static_cast<int>(d);
return true;
} catch (const std::bad_cast&) {
return false;
}
}
double d = 3.14;
if (can_convert_to_int(d)) {
std::cout << "d can be converted to an integer." << std::endl;
} else {
std::cout << "d cannot be converted to an integer." << std::endl;
}
```
阅读全文