我想将这个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