javascript 和 lua 中的计算结果不同

Calculation result different in javacript and lua

我目前正在创建自己的 NodeJS 机器人,但我的公式计算方式与 Lua

不同

这是一个例子:

XP = 79878

math.floor((1/4+XP/125)^0.5-1/2)
Lua: returns 24
JavaScript: returns 639

如果有人知道如何使此公式与 JavaScript 一起使用,请在下面提供示例。 谢谢

你应该这样使用:

Math.floor(Math.pow(1/4+(XP/125), 0.5)-1/2);

Javascript 中的 ^ 运算符执行 XOR operation,而不是将某物提升为幂。在Javascript的最新版本中(Node.js 8似乎支持它,我不确定早期版本)你可以改用**运算符;如果你需要支持早期版本,你应该使用 Math.pow().

// newer code
Math.floor((1/4 + XP/125) ** 0.5 - 1/2)

// older code
Math.floor(Math.pow(1/4 + XP/125, 0.5) - 1/2)