Google电子表格脚本getValues - 强制int而不是字符串

时间:2012-06-20 14:29:48

标签: javascript google-apps-script google-sheets

有没有办法强制.getRange()。getValues()返回一个int?虽然我的范围中只存在数字,但它将它们作为字符串返回。我想避免在我的每个语句中使用parseInt或者创建一个带有转换值的单独数组。

或者这是唯一的解决方案,获取数组然后在循环中parseInt整个数组?

3 个答案:

答案 0 :(得分:17)

您可以使用一元'+'运算符轻松完成此操作,如下所示:

首先使用getValue()getValues()从电子表格中获取您的值。假设您获得了两个这样的值,并将它们存储在A = 1B = 2中。您可以使用除+之外的任何数学二元运算符强制它们被识别为数字,这些运算符连接字符串,因此A - B = -1,而A + B将返回'12'。

只需将+一元运算符与任何可能被解释为字符串的变量一起使用,就可以强制变量为数字。例如,+A + +B将返回正确的值3。

答案 1 :(得分:13)

您可以使用parseInt()Number()

示例

var A='12';var B=5
A+B = 125
parseInt(A)+B = 17
Number(A)+B = 17

那就是说getValues()不应该返回字符串,除非值中有一些空格或其他非数字字符......这些值是手动输入还是由于某些功能而产生的?

答案 2 :(得分:2)

getValues()返回一个2D对象数组 - 因此这些是字符串,整数或日期对象,具体取决于电子表格中的格式。

返回电子表格,查看具有整数值的单元格的格式为。将它们格式化为整数,您应该返回整数。