c++如何判断double类型合法性
时间: 2023-08-10 09:02:41 浏览: 578
在C++中,可以使用std::isnan()、std::isinf()和std::isfinite()三个函数来判断double类型的合法性。
- std::isnan()函数用于判断一个double类型的值是否为NaN(Not a Number)。
- std::isinf()函数用于判断一个double类型的值是否为正无穷或负无穷。
- std::isfinite()函数用于判断一个double类型的值是否为有限数字(即既不是NaN也不是无穷大)。
下面是一个示例代码:
```c++
#include <iostream>
#include <cmath>
int main() {
double a = 1.0 / 0.0; // 正无穷
double b = -1.0 / 0.0; // 负无穷
double c = 0.0 / 0.0; // NaN
double d = 1.23; // 有限数字
std::cout << std::boolalpha;
std::cout << std::isnan(a) << std::endl; // false
std::cout << std::isinf(b) << std::endl; // true
std::cout << std::isnan(c) << std::endl; // true
std::cout << std::isfinite(d) << std::endl; // true
return 0;
}
```
输出结果为:
```
false
true
true
true
```
可以看到,使用这三个函数可以方便地判断double类型的合法性。
阅读全文