我正在尝试将一些代码从 C++ 转换为 JavaScript,但我对 int
、doubles
、NaN
和解析 float 感到非常困惑。我想!?
Z = T - 14 - (1);
while (Z <= T)
{
var S1 = 0.0;
for (var C = 0; C <= P - 1; C++)
{
if (V[Z + C] !== undefined)
{
skip = 0;
S1 = S1 + (V[Z + C] + V[Z + C]) / 2;
}
else
{
skip = 1;
}
}
console.log('S1: ' + S1);
Z++;
}
S1
现在总是 NaN
我该如何停止呢? (与 typeof
有关?)
重要的是:我已经让 V=[]
部分开始工作,它使用了 double ,并且正在处理未定义的部分(困惑的修复),所以这是一个很好的进步。
最佳答案
当涉及floats
的操作失败时,NaN
是结果值。 NaN
有一个有趣的属性:使用 NaN
操作总是得到 NaN
。
这意味着一旦您的一个变量保持 NaN
,该值将随着所有 future 操作传播。
console.log
您的 float ,并检测 float 变为 NaN
的时刻。我的赌注是 (V[Z + C] + V[Z + C])
。
关于javascript 和 c++ 双数 0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071260/