这是否可以在 C/C++ 中将 — 分配给 NaN
double
或 float
?就像在 JavaScript 中一样: a = NaN
。所以稍后您可以检查变量是否为数字。
原文由 exebook 发布,翻译遵循 CC BY-SA 4.0 许可协议
这可以使用 C++ 中的 numeric_limits 来完成:
http://www.cplusplus.com/reference/limits/numeric_limits/
这些是您可能想要查看的方法:
infinity() T Representation of positive infinity, if available.
quiet_NaN() T Representation of quiet (non-signaling) "Not-a-Number", if available.
signaling_NaN() T Representation of signaling "Not-a-Number", if available.
原文由 languitar 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
在 C 中,
NAN
在<math.h>
--- 中声明。在 C++ 中,
std::numeric_limits<double>::quiet_NaN()
在<limits>
--- 中声明。但是为了检查一个值是否为 NaN,你不能将它与另一个 NaN 值进行比较。而是使用
isnan()
来自<math.h>
在 C 中,或std::isnan()
来自<cmath>