我只是测试我自己的求和函数,但不是将数字加在一起,而是将它们连接成字符串。在Google表格中,我将从A列(1,2,3,4,5)发送值。而不是返回15,我得到12345
sum(testSheet.getRange('A:A').getValues());
function sum(inValues) {
var runningSum = new Number(0);
for (var i = 0; i < inValues.length; i++) {
runningSum += inValues[i];
}
return runningSum;
}
我开始调试并且在第一个循环周期中,runningSum似乎已经正确实例化并且是一个Number,但是在每个后续循环中,runningSum似乎以某种方式自动将其自身转换为String。
有谁知道如何将此变量保留为数字?
此外,还有一种方法可以在Google Apps脚本中强制使用严格的数据类型吗?
答案 0 :(得分:1)
您可以确保使用Number()
function test(){
Logger.log(sum(SpreadsheetApp.getActive().getActiveSheet().getRange('A:A').getValues()));
}
function sum(inValues) {
var runningSum = 0;
for (var i = 0; i < inValues.length; i++) {
runningSum += Number(inValues[i]);
}
return runningSum;
}