我希望总和不是字符串,怎么样?

时间:2014-03-22 10:44:04

标签: javascript arrays sum

这给了我字符串:“01234”而不是1 + 2 + 3 + 4 = 10,为什么? 我想得到不是字符串数字的总和。 感谢。

<script type="text/javascript">
var i=1;
var totale=0;
var index = Array();
var domanda = 0;

while (domanda !== "end") {
domanda = prompt("Write a number, the total so far is: "+totale);
index[i]=domanda;
totale += index[i];
i++;
}

document.writeln("total: " + totale);

document.writeln("ended");

</script>

4 个答案:

答案 0 :(得分:2)

因为prompt()(你不应该使用它)返回一个字符串 将回报换成parseInt(domanda)会解决问题。

答案 1 :(得分:0)

就像这样:

index[i]=Number(domanda);

完整脚本

<script type="text/javascript">
var i=1;
var totale=0;
var index = Array();
var domanda = 0;

do {
    domanda = prompt("Write a number, the total so far is: "+totale);
    if (domanda !== "end" && !isNaN(Number(domanda)))
    {
        index[i]=Number(domanda);
        totale += index[i];
        i++;
    }
} while (domanda !== "end")

document.writeln("total: " + totale);

document.writeln("ended");

</script>

答案 2 :(得分:0)

您需要parseInt从提示符返回的值,否则您将连接字符串。

index[i]= parseInt(domanda);

您可能想要检查输入值是否也是一个数字。

答案 3 :(得分:0)

使用内置parseInt的JavaScript,这会创建一个传递给它的任何内容的int,因此:parseInt(value);