![](/img/trans.png)
[英]javascript concatenates numbers ONLY when I add a second getElementbyId
[英]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.