首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能在google脚本中工作的比较箱(小于/大于)

不能在google脚本中工作的比较箱(小于/大于)
EN

Stack Overflow用户
提问于 2020-08-16 21:50:54
回答 1查看 807关注 0票数 0

这似乎是一个非常简单的问题,但我似乎找不出这个问题。我正在使用谷歌表单运行一个库存系统,并已建立了一个系统,以纠正计数。它们在表单中输入正确的计数,并调整我的脚本的值,将旧计数与新计数进行比较。如果新值高于或小于以前的值,则有两个公式。在大多数情况下,这是很好的,但也有其他时候,它会突然相信新的数字(远高于旧的)是小于以前的价值。即使是运行日志也会显示,12大于100,9大于50。我不知道它为什么要这样做。

这是我的if声明:

代码语言:javascript
运行
复制
 if(!hfw){ 
    var test = responses.getRange("C"+(lastRow)).getValues();
    var test2 = current.getRange("DH9").getValues();
    if(test == test2) {
      current.getRange("DH6").setValue("0");
    };
    if(test > test2){
      current.getRange("DH6").setValue(test-test2);
    };
    if(test < test2){
      current.getRange("DH6").setValue("-"+(test2-test));
    };
  }

下面是带有表单和脚本的调整表:PALCaXwVMsOXWi5I2aiccg/编辑?usp=共享

一切都会有帮助的。你可以看到,在最后一行,我做了50遍,从1-6,它工作得很好,然后7-11,它决定他们大于50,并做了第二个方程式。

编辑的页面如下: Sheet11 Jwa0XmdL0bsTI/编辑?usp=共享

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-16 22:24:05

.getValues() (注:复数)返回数组。当您进行比较JavaScript中的对象时,您正在比较内存中对象的地址,而不是对象的值。换句话说,数组test是否小于或大于test2很可能是随机的,而且它们永远不会相等。

您需要使用.getValue() (注意:单数)来获得一个要比较的值,并且您应该小心,最后要比较数字而不是字符串(默认情况下,Sheet应该为您完成转换,但您可以通过各种方式重写它)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63442263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档