如何在javascript中添加如1 + 1 + 1 = 3而不是“1”+“1”+“1”= 111的数字[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

这是我的代码:

var health = prompt("Type in health");
var attack = prompt("Type in attack");
var defense = prompt ("Type in defense");
function calculatestats(health,attack,defense){
    return health/4 + attack + defense
}
alert (calculatestats(health,attack,defense));

当我输入4,1和1时,我想让它输出“3”.javascript正在添加字符“1”,“1”和“1”。我想在数学上添加它,并使其输出3,而不是111.谢谢。

javascript
1个回答
3
投票

prompt()返回一个字符串。你必须使用+parseInt进行显式类型转换:

function calculatestats(health,attack,defense){
  return +health/4 + +attack + +defense;
}

更好的方法:

function calculatestats(health,attack,defense){
  return parseInt(health)/4 + parseInt(attack) + parseInt(defense);
}
© www.soinside.com 2019 - 2024. All rights reserved.