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