javascript - vb.net整数除法

标签 javascript asp.net vb.net

我正在尝试将此 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 相同)?

非常感谢您的帮助!

最佳答案

看看这个答案:VB.NET vs C# integer division

VB.NET 有两个除法运算符:

  • “/”除法:结果会四舍五入
  • “\”整数除法:结果将被 chop

在您的脚本使用“/”的情况下,结果将为 1(1/2 = 0.5 四舍五入为 1)。

你的 JavaScript

Math.cos(Theta[0.5])

应该变成

Math.cos(Theta[Math.round(0.5)])

关于javascript - vb.net整数除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14193308/

相关文章:

Asp.net Identity 3 返回 403 未经授权的请求而不是重定向 WebAPI 调用

ASP.NET自定义控件控件状态

c - 使用 C DLL 的 VB.Net

.net - 我应该如何在 VB.NET 中进行转换?

javascript - 使用 CSS 缩放/矩阵不会使背景与元素保持对齐

c# - Azure Web 应用程序偶尔抛出 CryptographicException : Keyset does not exist

javascript - 使用 JavaScript 显示隐藏的 div

wpf - 如何在用户控件上单击按钮才能在包含的窗口中执行方法?

javascript - 垃圾收集未使用的模块

javascript - 拆分对象属性中的字符串并创建新数据集