Javascript 如何检查变量是否为数字discord.js

Javascript 如何检查变量是否为数字discord.js,javascript,node.js,discord,discord.js,Javascript,Node.js,Discord,Discord.js,我对discord bots编码相当陌生,我想检查一个变量是否是一个数字。我的代码是这样的,我已经尝试了很多选项来使用“if”语句 const{DiscordAPIError}=require('discord.js'); const Discord=require('Discord.js'); module.exports={ 名称:'givecookies', description:'将Cookie提供给提及的用户', 执行(消息,参数){ 让User=message.guild.memb

我对discord bots编码相当陌生,我想检查一个变量是否是一个数字。我的代码是这样的,我已经尝试了很多选项来使用“if”语句

const{DiscordAPIError}=require('discord.js');
const Discord=require('Discord.js');
module.exports={
名称:'givecookies',
description:'将Cookie提供给提及的用户',
执行(消息,参数){
让User=message.guild.member(message.indications.members.first());
if(!User)返回message.channel.send('Invalid User');
var cookiesAmount=args.join(“”).slice(22);
如果(!cookiesAmount){
message.reply(“无效的cookie数量”);
}
if(typeof`${cookiesAmount}`='number'){
log(“cookies的数量是一个数字”);
log(`USER=${USER}`);
log(`amountofcookies=${cookiesAmount}`);
var UserID=User.id;
log(`USER ID=${UserID}`);
}否则{
message.reply(“无效的cookie数量”);
log(“cookies的数量不是一个数字”);
log(`USER=${USER}`);
log(`amountofcookies=${cookiesAmount}`);
var UserID=User.id;
log(`USER ID=${UserID}`);
}
},
};
我还尝试了
if(typeof(cookiesAmount)=='number')
if(typeof cookiesAmount=='number')
,但都不起作用。不管值是什么,它的行为就像它不是一个数字一样。我让它记录cookiesAmount的值,它总是正确的,它记录“5”,但它的行为就像它不是一个数字一样。有没有办法解决这个问题?谢谢


首先,我使用的是discord.js版本12,这更像是一个js问题(它不是discord特有的)。它总是返回false的原因是所有参数都是字符串。您应该使用parseInt(或parseFloat)函数将字符串转换为数字,并检查结果是否为NaN,以了解它是否为有效数字


如果我的回答有什么不清楚的地方,请先在评论中问我一个问题,这更像是一个JS问题(不是针对不和谐的问题)。它总是返回false的原因是所有参数都是字符串。您应该使用parseInt(或parseFloat)函数将字符串转换为数字,并检查结果是否为NaN,以了解它是否为有效数字


如果我的回答有任何不清楚的地方,只需在注释中问我一个问题

,因为您是从不一致消息中获取变量,它将始终是一个
字符串
。但是,您可以使用
+
运算符对其进行转换

var cookiesAmounts='notANumber';
if(Number.isNaN(+cookiesAmounts))console.log('这不是一个数字');

else console.log('这是一个数字')
由于您是从不一致消息中获取变量,因此它将始终是一个
字符串。但是,您可以使用
+
运算符对其进行转换

var cookiesAmounts='notANumber';
if(Number.isNaN(+cookiesAmounts))console.log('这不是一个数字');

else console.log(“这是一个数字”)
它记录的是“5”还是“5”,我认为终端中的数字颜色不同。还可以尝试记录cookiesAmount的类型,看看它是一个数字还是一个字符串。我有以下代码:console.log(
amountofcookies=${cookiesAmount}
),所以它记录cookies的数量=5这是否回答了您的问题?它记录的是“5”还是5,我认为终端中的数字是不同的颜色。还可以尝试记录cookiesAmount的类型,看看它是一个数字还是一个字符串。我有以下代码:console.log(
amountofcookies=${cookiesAmount}
),所以它记录cookies的数量=5这是否回答了您的问题?我这样做了,但即使原值是一个字母,它的行为就像它是一个数字。我这样做了,但即使原值是一个字母,它的行为就像它是一个数字