gpt4 book ai didi

javascript - 尝试添加号码时无法使用 +

转载 作者:行者123 更新时间:2023-11-28 11:57:08 24 4
gpt4 key购买 nike

在我选择选项 1 并添加数字(如 100)后,结果如下 100100

这是代码:

var userAmount;
var userMoney = 100;
var totalMoney;
alert("1. Add");
alert("2. Subtraction");
var userOption = prompt("Enter your selection: ");
if (userOption == 1) {
userAmount = prompt("Amount: ");
var totalMoney = userMoney + userAmount;
alert("Total is " + totalMoney);
}
else {
userAmount = prompt("Amount: ");
var totalMoney = userMoney - userAmount;
alert("Total is" + totalMoney);
}

最佳答案

因为使用+时存在隐式转换。在您的情况下 + 实际上是连接这些值。

函数prompt 返回一个字符串,因此当您将其添加到 int 时,它会连接这些值。它将两个值作为字符串并连接该值而不是相加。

MDN说:

String operators

In addition to the comparison operators, which can be used on string values, the concatenation operator (+) concatenates two string values together, returning another string that is the union of the two operand strings. For example, "my " + "string" returns the string "my string".

您需要将其转换为Number(userAmount),例如:

var totalMoney = userMoney + Number(userAmount);

userAmount = parseFloat(prompt("Amount: "));

因此您需要将两个值都转换为 int,以便 + 运算符表现为加法而不是字符串连接。

关于javascript - 尝试添加号码时无法使用 +,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20719319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com