我想將這個ASP.net(VB)腳本轉換爲純Javascript,我遇到了這個問題。我將這個腳本有以下幾點:vb.net整數部門
[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]
然後一些數學計算完成,裏面的:1 2θ的以下值結束:
Dim F as Integer
Dim Theta(100) as Double
f控制值結束公式西塔陣列使用像這樣:
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相同)?
非常感謝幫助!
[這](http://en.wikibooks.org/wiki/Visual_Basic_.NET/Arithmetic_operators#Division)應該回答你的問題: '/'是浮動除法,'\'是整數除法。 (不能使反斜槓漂亮>。)因此,'1/2'是'0.5'。 – Amadan
你的引用不會顯示如果你做了什麼會發生什麼:Dim x as Integer,然後做了浮點除法:x = 3/4 - 問題不是如何聲明結果變量。在我的問題中,F是一個整數,F/2用作數組索引。 vb如何可以有十進制數組索引? – SublymeRick
你說得對,它沒有。正如我所說,這個部門會繼續進行但由於數組索引必須是整數,所以它會變成四捨五入的,所以'0'。5'成爲'1'作爲索引。 – Amadan