我正在用JavaScript构建一个计算器,我刚刚完成但我只有一个逻辑错误。
我正在尝试将字符串转换为数字,以便我可以进行计算。
例如,我希望将var value = "10";
转换为整数。
我尝试parseInt(value1);
但由于某种原因这不起作用 - 当我完成计算时,它只是加入了字符串。
这是我的尝试(很多更简单的版本):
value1 = "10";
value2 = "5";
parseInt(value1);
parseInt(value2);
var calculatedAnswer = value1 + value2;
上述结果为:105
为什么它加入字符串而不是转换并将它们一起添加?
编辑:......我该如何解决这个问题?
答案 0 :(得分:2)
您必须将parseInt值存储在某处并使用它。喜欢
value1 = "10";
value2 = "5";
var parsed1 = parseInt(value1);
var parsed2 = parseInt(value2);
var calculatedAnswer = parsed1 + parsed2;
答案 1 :(得分:1)
因为您没有将解析后的值分配给value1和value2,所以parseInt(value1)不会改变。您可以使用以下方式或将parseInt(value1)更改为value1 = parseInt(value1),同样更改为值2;
您还可以通过在字符串前面添加+
来将字符串更改为数字
value1 = "10";
value2 = "5";
var calculatedAnswer = parseInt(value1) + parseInt(value2);
console.log(calculatedAnswer)
console.log((+value1) + (+value2))

答案 2 :(得分:0)
value1 = "10";
value2 = "5";
var calculatedAnswer = parseInt(value1) + parseInt(value2);
alert(calculatedAnswer)

您需要使用parseInt输出
答案 3 :(得分:0)
您可以将解析后的值分配回变量:
var value1 = "10";
var value2 = "5";
value1 = parseInt(value1);
value2 = parseInt(value2);
var calculatedAnswer = value1 + value2;