我需要在JavaScript中对几个值进行求和。 我已经尝试使用以下代码:
var a = 2;
var b = 5;
c = a+b;
但是,输出结果(c)只是将a和b的值合并,而不是计算出a和b的值。所以输出结果为:
c = 25
我相信你们可以轻松地帮助我解决这个问题。先谢谢了。敬礼,安达。
我需要在JavaScript中对几个值进行求和。 我已经尝试使用以下代码:
var a = 2;
var b = 5;
c = a+b;
但是,输出结果(c)只是将a和b的值合并,而不是计算出a和b的值。所以输出结果为:
c = 25
我相信你们可以轻松地帮助我解决这个问题。先谢谢了。敬礼,安达。
确保这些值是数字,否则它们将连接在一起而不是相加。
a = parseInt(a, 10); // a is now int
parseInt()
时,请确保使用 radix
参数。 - JAAulde您的代码正在添加(连接)字符串。您确定您发布的代码代表了您的问题吗?您编写的应该可以工作。请确保在实际代码中不要这样说:
var a = '2'; // or something similar
parseInt(a, 10)
函数,其中10是基数。Number
函数也可能适合您的目的。parseInt(a)
不会改变 a
变量,它只会返回解析后的整数。所以你可能需要使用 a = parseInt(a)
或 c = parseInt(a) + parseInt(b)
。 - numbers1311407parseInt()
时,请确保使用 radix
参数。 - JAAuldeNumber
转换成数字,不需要基数 - 所以 Number('08')
返回 8,而不是 0。 - KooiInc作者可能提供了“简化”的代码,以便我们能够了解。我遇到了同样的问题,当获取输入值时,JS将其解释为字符串。使用“Number()”解决了这个问题:
var sum = Number(document.getElementById("b4_f2_"+i).value) + Number(document.getElementById("b4_f3_"+i).value) + Number(document.getElementById("b4_f4_"+i).value);
这个很好用:
var a = 2;
var b = 5;
var c = a + b; // c is now 7
使用parseInt()
函数:
var a=2;
var b=5;
c=parseInt(a)+parseInt(b);
7
。parseInt()
[docs]。阅读它的文档,并务必注意并提供第二个参数(radix
)以确保从字符串到数字的转换使用您期望的基数。(其他答案中缺乏关于radix
的信息是我提前发布答案的主要原因,即使其他人已经提到了parseInt()
。)
此外,FYI,在处理未知值并希望执行数学运算时,另一个方便的函数是isNaN()
[docs]。对于每个值都应用Number()是很重要的。理想的方法是:
var sum = 0
sum = Number('93') + Number('7') //result 100
-而不是这样(注意这一点)
var sum = 0
sum = Number('97' + '3') //result 937
var sum = 0
sum = Number('97') + '3' //result "973"
您可以通过在字符串前添加+
来将其转换为数字。对于某些人来说,这样更易读。
例如:
const a = "2";
const b = "5";
const c = +a + +b
或者使用const c = (+a) + (+b)
可能更易读。
这将首先将字符串转换为数字。
:P
- Šime Vidas