繁体   English   中英

JavaScript将数字串联起来

[英]JavaScript concatenates numbers which should be counted up

<!DOCTYPE html>
<html>
<head>
<title>Sum of terms</title>
</head>
<body>
<script type="text/javascript">
var num = prompt("Sum of terms");
var result = (0.5 * num * (1 + num));
document.write(result);
</script>
</body>
</html>

这是一个简单的应用程序,可将一系列数字的所有项加起来(从1开始)。 如果num = 100,结果将是5050。相反,它给我的结果是55000,这是因为JavaScript将1和100连接为1100(1 + num)。 我该如何更改代码,使其不将数字连接在一起,而只是将它们加起来?

num设为数字变量

num=parseInt(num);   // do this before you compute result.
                     // or even parseFloat if you need a FP value.

当您将数字与字符串混合使用时,javascript将+视为串联运算符。 通过将其强制转换为整数值,可以确保JavaScript知道方程式中的所有值都是数字,因此需要将其视为数字。

问题是提示符()返回一个字符串,这导致javascript认为您想合并多个字符串。 我会尝试:

    var num = prompt("Sum of terms");
    try{
        num = parseInt(num);
        var result = (0.5 * num * (1 + num));
        document.write(result);
    }
    catch(e){
        alert("Please specify a number");
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM