この ASP.net(vb) スクリプトを純粋な Javascript に変換しようとしていますが、この問題が発生しています。私が変換しているスクリプトには次のものがあります。
Dim F as Integer
Dim Theta(100) as Double
F は次の値になります: 1 Theta は次の値になります:
[0, 1.2669233316773538, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
次に、いくつかの数学計算が行われ、数式内で Theta 配列が次のように使用されます。
Cos(Theta(F / 2))
ここで簡単な計算をすると、F / 2, (or 1 / 2) = 0.5
配列キー 0.5 がないので、私の Javascript コードでは次のように言っています。
Math.cos(Theta[0.5])
最終的には次のようになります。
Math.cos(undefined)
もちろん、これは数学を破ります。
私の質問は簡単です。IIS サーバーや、vb.net スクリプトを変更する方法がないため、デバッグ出力を追加して、その動作を確認できます。私は基本的にこれを盲目的に行っており、.net 言語や ASP に関する知識はほとんどありません。
F は整数なので、vb.net スクリプトで F を割ると整数になりますか? F の型によって強制的に丸められますか?
たとえば、このスクリプトでは、次のうちどれが起こっていますか?: Theta[0] (連結) または Theta[1] (丸め) または Theta[0.5] (javascript と同じ)?
助けていただければ幸いです。