Javascript 尝试使用Discord bot将用户消息从十进制转换为十六进制
好的,我有这个Javascript 尝试使用Discord bot将用户消息从十进制转换为十六进制,javascript,converter,discord,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:
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()
})
}
}
Commands.hex={
名称:“十六进制”,
帮助:“我将为您转换您的steamid”,
超时时间:10,,
级别:0,
fn:函数(消息,后缀){
msg.reply('Steam64')。然后((m)=>{
m、 编辑(',转换的蒸汽ID:'+后缀.toString(16)).slice(-2).toUpperCase()
})
}
}
我正试图让它做这个网站做的事情
我只是想把它转换成我的discord机器人,谢谢 事实证明,您的值:76561198262006743远大于
Number.MAX_SAFE_值,即(2^53-1)。这将导致在尝试执行算术时出现未定义的行为
例如,在Google Chrome上,在控制台中键入数字并按enter键时,该值变为76561198262006740(注意,末尾的3变为0),这意味着十六进制转换也不正确
一个简单的解决方案是,因为您已经将该值作为字符串,所以可以执行您自己的十进制->十六进制转换
他可以在这里找到这样一种算法:
对Number#toString(16)
和dec2hex(String)
的结果进行一个小的比较:
函数dec2hex(str){/.toString(16)最多只能使用2^53
var dec=str.toString().split(“”),sum=[],hex=[],i,s
while(十二月长度){
s=1*12月班次()
对于(i=0;s | | i console.log(“toString:+parseInt(num).toString(16))
您认为后缀是什么类型的?如果它是一个字符串,那么我想你必须首先对它调用parseInt
,因为toString(16)
只有在后缀已经是整数的情况下才能正常工作。后缀是我相信的用户消息。正如你看到的,上面写着!!hex 76561198205234861@KhauriMcClainYes我理解。但是用户的消息很可能是通过字符串而不是整数传递的,因此对字符串调用toString(16)
将不起作用<代码>(10)。toString(16)
将返回“a”,但(“10”)。toString(16)
将返回“10”抱歉,我正在学习尝试此m.edit(',Steam ID转换为:'+parseInt(后缀)。toString(16))
@Khaurimcclainth已工作,谢谢!