2014-04-14 54 views
0

我想將一些代碼從C++轉換爲JavaScript,但我很困惑intsdoubles,NaN和解析浮動。我認爲!?javascript和C++雙數0.0

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=[]部分工作,並使用雙打,並在未定義的部分(雜亂修復)工作,這是一個很好的進展。

+0

感謝尼爾的編輯,但是,在你在別人先看看你自己的隊友http://stackoverflow.com/questions/3218756/javascript-braces-on-new-line-or-not看到一展身手在那篇關於道格拉斯克羅克福德的文章中的答案。這是一個問題和答案論壇,不是一個問題和侮辱論壇。 –

+0

你能發佈原始的C++代碼嗎? –

+0

@ BENZ.404對不起。 –

回答

1

涉及floats的操作失敗時,產生的值爲NaNNaN有一個有趣的屬性:經營NaN總是在NaN結果。

這意味着,只要你的變量之一成立NaN,該值將與所有未來的業務擴展。

console.log你的花車,並檢測其中一個成爲NaN的時刻。我的投注在(V[Z + C] + V[Z + C])

+0

+1uʍopǝpısdn。 –