我正在用点和点之间的向量进行一些计算,对于我来说,当点非常接近时我得到了纳,这并不奇怪。我现在要做的是清除数组中存储在数组中的所有nan值以及良好的数据。我希望只使用一些像这样的代码:
if( angle[i] == nan ) { angle[i] = 0.0 };
至少这是我尝试过的,当我尝试时我会遇到错误。有没有人知道如何摆脱nan值并用0.0?
替换它们答案 0 :(得分:7)
假设这是C,则使用<math.h>
中的isnan:
#include <math.h>
if (isnan(angle[i]))
{
angle[i] = 0.0;
}
答案 1 :(得分:5)
从我记忆中,在每种语言中,NaN都会将虚假与包括其自身在内的所有事物进行比较。您可以使用此行为来清除它:
if( angle[i] != angle[i] ) { angle[i] = 0.0 };
这看起来像C,C ++或Java;在所有这些中,这个技巧应该有效。