Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google电子表格脚本getValues-强制int而不是string_Javascript_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript Google电子表格脚本getValues-强制int而不是string

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()不应该返回字

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

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

您可以使用
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数组。当我这样做时,他们的新家正确地将它们存储为整数。因此,这是解决问题的另一种方法。空单元格返回空字符串。