尝试使用Discord bot将用户消息转换为十进制十六进制

时间:2017-11-06 19:20:24

标签: javascript converter discord

好的,我有这个

Commands.hex = {
  name: 'hex',
  help: "I'll convert your steamid for you",
  timeout: 10,
  level: 0,
  fn: function (msg, suffix) {
    msg.reply('Steam64').then((m) => {
      m.edit('<@' + msg.author.id + '>, Steam ID Converted: ' + suffix.toString(16)).slice(-2).toUpperCase()
    })
  }
}

我正试图让它去做这个网站做的事情 http://www.binaryhexconverter.com/decimal-to-hex-converter

picture of what it's doing

我只是想让它转换为我的不和谐机器人,谢谢!

1 个答案:

答案 0 :(得分:1)

事实证明你的价值:76561198262006743远大于this->setProperty(),即(2 ^ 53 -1)。这会在尝试算术时导致未定义的行为。

例如,在谷歌浏览器上只输​​入控制台中的数字并按Enter键时,该值变为76561198262006740(注意最后的3变为0),这意味着十六进制转换也不正确。

一个简单的解决方案是,由于您已经将值作为字符串,因此将执行您自己的decimal-&gt;十六进制转换。

他可以在这里找到一个这样的算法: https://stackoverflow.com/a/21668344/8237835

Number.MAX_SAFE_VALUENumber#toString(16)的结果的小比较:

dec2hex(String)