好的,我有这个
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
我只是想让它转换为我的不和谐机器人,谢谢!
答案 0 :(得分:1)
事实证明你的价值:76561198262006743远大于this->setProperty()
,即(2 ^ 53 -1)。这会在尝试算术时导致未定义的行为。
例如,在谷歌浏览器上只输入控制台中的数字并按Enter键时,该值变为76561198262006740(注意最后的3变为0),这意味着十六进制转换也不正确。
一个简单的解决方案是,由于您已经将值作为字符串,因此将执行您自己的decimal-&gt;十六进制转换。
他可以在这里找到一个这样的算法: https://stackoverflow.com/a/21668344/8237835
Number.MAX_SAFE_VALUE
和Number#toString(16)
的结果的小比较:
dec2hex(String)