【问题标题】:Calculation result different in javacript and luajavascript和lua中的计算结果不同
【发布时间】:2021-05-25 11:53:23
【问题描述】:

我目前正在使用 NodeJS 创建自己的机器人,但遇到了一个问题,即我的公式与 Lua 中的计算方式不同

这是一个例子:

XP = 79878

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

如果有人知道如何使这个公式适用于 JavaScript,请在​​下面提供一个示例。 谢谢。

【问题讨论】:

标签: javascript node.js math lua operators


【解决方案1】:

你应该这样使用:

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

【讨论】:

    【解决方案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)
    

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      • 2013-04-09
      • 2016-01-01
      • 2013-05-20
      相关资源
      最近更新 更多