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)
我目前正在创建自己的 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)