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

use*_*541 9 javascript google-sheets google-apps-script

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

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

hoo*_*one 17

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

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

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


Ser*_*sas 13

你可以使用parseInt()Number()

var A='12';var B=5
A+B = 125
parseInt(A)+B = 17
Number(A)+B = 17
Run Code Online (Sandbox Code Playgroud)

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