Google表格脚本,自动投射数据类型

时间:2014-08-08 07:17:07

标签: google-apps-script google-sheets type-conversion

我只是测试我自己的求和函数,但不是将数字加在一起,而是将它们连接成字符串。在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。

  1. 有谁知道如何将此变量保留为数字?

  2. 此外,还有一种方法可以在Google Apps脚本中强制使用严格的数据类型吗?

1 个答案:

答案 0 :(得分:1)

您可以确保使用Number()

将您在SS中阅读的值解释为数字
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;
}