【问题标题】:2 numbers not adding together correctly2 个数字未正确相加
【发布时间】:2021-10-22 15:19:13
【问题描述】:

我正在将 repl.it 数据库用于我正在制作的不和谐经济机器人。我发出了一个撤销命令,但是当我输入 !withdraw 10 时,我希望收到 currentbalance + amount(例如,如果当前余额为 50 并且我输入 !with 100 我应该得到 150),但我一直收到 "50100"。这是我的代码:

if (message.content.toLowerCase().startsWith("#ايداع")) {
    const args = message.content.trim().split(/ +/g);

    let money = await db.get(`wallet_${message.member}`)
    let currentbalance1 = await db.get(`wallet_${message.member}`)
    let currentbalance = await db.get(`bank_${message.member}`)
    let gembed = new Discord.MessageEmbed()
      .setColor("RED")
      .setDescription("ليس لديك مبلغ كافي للايداع")


    let cembed = new Discord.MessageEmbed()
      .setColor("RED")
      .setDescription("يرجى تحديد مبلغ للايداع");

    let amount = args[1];
    if (!amount || isNaN(amount))
        return message.reply(cembed);

    await db.set(`bank_${message.member}`, currentbalance + amount);
    await db.set(`wallet_${message.member}`, currentbalance1 - amount)

    let sembed = new Discord.MessageEmbed()
      .setColor("RED")
      .setDescription("لقد قمت بايداع" + amount + "الى حسابك البنكي");

    message.channel.send(sembed);
}

【问题讨论】:

    标签: discord discord.js


    【解决方案1】:

    如果您的输出是来自50 + 10050100,则意味着您的数字(50100)是字符串而不是数字。一个简单的解决方案是使用parseInt

    例子:

    let currentbalance1 = await db.get(`wallet_${message.member}`);
    let currentbalance = await db.get(`bank_${message.member}`);
    
    await db.set(`bank_${message.member}`, parseInt(currentbalance) + parseInt(amount));
    await db.set(`wallet_${message.member}`, parseInt(currentbalance1) - parseInt(amount));
    

    完整示例:

    if (message.content.toLowerCase().startsWith("#ايداع")) {
        const args = message.content.trim().split(/ +/g);
    
        let money = await db.get(`wallet_${message.member}`)
        let currentbalance1 = await db.get(`wallet_${message.member}`)
        let currentbalance = await db.get(`bank_${message.member}`)
        let gembed = new Discord.MessageEmbed()
          .setColor("RED")
          .setDescription("ليس لديك مبلغ كافي للايداع")
        let cembed = new Discord.MessageEmbed()
          .setColor("RED")
          .setDescription("يرجى تحديد مبلغ للايداع");
    
        let amount = args[1];
        if (!amount || isNaN(amount)) return message.reply(cembed);
    
        await db.set(`bank_${message.member}`, parseInt(currentbalance) + parseInt(amount));
        await db.set(`wallet_${message.member}`, parseInt(currentbalance1) - parseInt(amount))
    
        let sembed = new Discord.MessageEmbed()
            .setColor("RED")
            .setDescription("لقد قمت بايداع" + amount + "الى حسابك البنكي");
    
        message.channel.send(sembed);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多