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

Google Spreadsheet Script getValues - Force int instead of string

本文关键字:int 字符串 脚本 电子表格 getValues Google      更新时间:2023-09-26

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

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

您可以使用

一元"+"运算符轻松完成此操作,如下所示:

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

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

您可以使用

parseInt()Number()

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

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

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

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