javascript - 从 VBA 到 Javascript 的转换

标签 javascript vba excel

我正在尝试将一些 VBA excel 代码转换为 JS,但即使我很确定,代码也无法正常工作。 以下是给我带来问题的片段:

VBA: Tri1 = Tri1 + 2 ^ (2 - Tour)
JS: tri1 = tri1 + Math.pow(2, (2 - tour));

和:

VBA: If (y And (2 ^ (5 - Tour))) <> (Tri2 And 2 ^ (5 - Tour)) Then
JS: if ((y && Math.pow(2, 5 - tour)) != (tri2 && Math.pow(2, 5 - tour)))

和:

VBA: If (Tri1 And 2 ^ (2 - Tour)) = 0 Then
JS: if ((tri1 && Math.pow(2, 2 - tour)) == 0)

tri1、tri2、y均为整数。

我对 JS 有很好的理解,但对 VBA 却一窍不通。所以我之前已经在谷歌上搜索了很多。

谢谢!

最佳答案

这不是一个完整的答案,但我认为这些信息可以帮助您实现目标。因为你只是想把单词从 vba 翻译成 js。但是 js 不是 vba 并且 js 有一些特殊的东西。

第一: float

js 中的 float 并不总是像它看起来的那样。这里的问题将为您提供有关该主题的更多信息: How to deal with floating point number precision in JavaScript?

由于代码片段,我不知道您的变量之一是否是 float 。但是如果,你应该知道那个问题。

第二:比较

JS 处理比较的方式与其他一些语言略有不同。关于该主题的一些有用链接:

特别是你的代码中的比较不是很清楚。例如:

var a = 10;
var b = 0;
document.write((a && b) == 0); // is true
document.write(a && b) // is 0
var a = 10;
var b = 11;
document.write((a && b) == 0); // is false
document.write(a && b) // is 11

这真的是您想要的行为吗?因此,尽量简化您的比较,您的代码就可以工作。

关于javascript - 从 VBA 到 Javascript 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34312899/

相关文章:

javascript - 使用 Javascript 将十六进制数转为字符

javascript - 是否可以将参数/变量传递给 Onblur 函数?

vba - 是否需要将Objects设置为Nothing

vba - 建议通过命令行通过 vba 进行 7Z 解压

vba - 如何从与 vba 中相同的单元格返回值?

excel - 如何在 excel VBA 用户窗体中显示 dwg 文件的缩略图

javascript - 仅定义一次函数。如何?

javascript - 更改我的 .htaccess 后,我的 Css An Js 无法正常工作

excel - 引用单独的工作表使用 ISFORMULA

python - 读取和打印工作簿中工作表的内容 - openpyxl