Javascript Google电子表格脚本getValues-强制int而不是string
有没有办法强制.getRange().getValues()返回int?虽然我的范围中只存在数字,但它将它们作为字符串返回。我希望避免在我的每一条语句中使用parseInt,或者使用转换后的值创建单独的数组 或者这是唯一的解决方案,获取数组,然后在循环中解析整个数组?您可以使用Javascript Google电子表格脚本getValues-强制int而不是string,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,有没有办法强制.getRange().getValues()返回int?虽然我的范围中只存在数字,但它将它们作为字符串返回。我希望避免在我的每一条语句中使用parseInt,或者使用转换后的值创建单独的数组 或者这是唯一的解决方案,获取数组,然后在循环中解析整个数组?您可以使用parseInt()或Number() 范例 var A='12';var B=5 A+B = 125 parseInt(A)+B = 17 Number(A)+B = 17 也就是说,getValues()不应该返回字
parseInt()
或Number()
范例
var A='12';var B=5
A+B = 125
parseInt(A)+B = 17
Number(A)+B = 17
也就是说,getValues()不应该返回字符串,除非值中有一些空格或其他非数字字符。。。这些值是手动输入的还是由某些函数产生的?getValues()返回一个2D对象数组-因此这些是字符串、整数或日期对象,具体取决于这些对象在电子表格中的格式
返回电子表格,查看具有整数值的单元格的格式。将它们格式化为整数,您应该返回整数 使用一元“+”运算符可以轻松完成此操作,如下所示: 首先使用
getValue()
或getValues()
从电子表格中获取值。假设您得到两个这样的值,并将它们存储在A=1
和B=2
中。您可以使用任何数学二进制运算符强制将它们识别为数字,除了连接字符串的+
,因此A-B=-1
,而A+B
将返回“12”
只需将
+
一元运算符与任何可能被解释为字符串的变量一起使用,就可以强制变量为数字。例如,+A++B
将返回正确的值3。我最后编写了一个函数,该函数只在数组上运行parseInt(),并在读取信息后调用它。这很好(简单循环),但我想让电子表格快一点,所以我决定读取一个大数组,然后将元素保存为单独的1D数组。当我这样做时,他们的新家正确地将它们存储为整数。因此,这是解决问题的另一种方法。空单元格返回空字符串。