【问题标题】:Google Spreadsheet Script getValues - Force int instead of stringGoogle 电子表格脚本 getValues - 强制使用 int 而不是 string
【发布时间】:2012-06-20 14:29:48
【问题描述】:

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

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

【问题讨论】:

  • 我最终编写了一个函数,它只在数组上运行 parseInt() 并在读取信息后调用它。这工作正常(简单循环),但我想让电子表格更快一点,所以我决定读取一个大数组,然后将元素保存为单独的一维数组。当我这样做时,他们的新家正确地将它们存储为整数。所以,这是解决问题的另一种方法。

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您可以使用parseInt()Number()

    例子

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

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

    【讨论】:

    • 空单元格返回空字符串。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多