检查Google表单中的否定值

时间:2016-12-21 13:04:36

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

我在这里要做的是检查从我的表单提交的值是否符合某些标准,然后发送邮件。当值符合肯定标准时,我收到邮件(因此邮件部分不是问题。

if(parseInt(e.values[2]) > -15)  
  {  
    mailInnhold +="Fryser 200 er registrert som " + e.values[2] + " grader. " + "\n";
    feil++;

  }


 if(parseInt(e.values[3]) > 4 || parseInt(e.values[3]) < (-1))  // Kjøl 102 //
  {  
    mailInnhold += "Kjøl 102 er registrert som " + e.values[3] + " grader. " + "\n";
    feil++;

  }

当我尝试对负值进行parseInt()时,我得到NaN。显然这是因为我从表单中收到了一个ndash而不是连字符,但我无法解决这个问题,而且我也没有在Google上找到任何相关内容。

我非常感谢任何帮助,如果我的问题有任何问题,那么我很乐意将其删除(如果有充分的理由)。

编辑:我指的是:Javascript parseInt on large negative number gives NaN

EDIT2:MVCE和Rubén的样本

function emailNotification(e) { 
  Logger.log(e.values[1]); //Where e.values[1] is entered as -1 in the form
  Logger.log(parseInt(e.values[1]));


} 

运行此命令返回:

[16-12-29 12:44:03:822 CET] -1
[16-12-29 12:44:03:823 CET] NaN

1 个答案:

答案 0 :(得分:0)

我认为&#34; - &#34;可以用来表示负数。正如你在我的代码中看到的那样,parseInt()能够转换字符串&#34; -2&#34;与值1相比,int并按预期工作。因此,这不是Apps脚本的错误。

function myFunction() {
  var str = "-2";
  if(parseInt(str) > 1){
    Logger.log("True");
  }else{  Logger.log("False");} //Output is False.
}

请先在console.log()中检查e.values[2]的值,然后才能到达此行

if(parseInt(e.values[2]) > -15)