Javascript 检查Google表单中的负值
我在这里试图实现的是检查表单中提交的值是否符合某些标准,然后发送邮件。当值满足肯定条件时,我接收邮件(因此邮件部分不是问题)Javascript 检查Google表单中的负值,javascript,google-apps-script,google-sheets,google-forms,Javascript,Google Apps Script,Google Sheets,Google Forms,我在这里试图实现的是检查表单中提交的值是否符合某些标准,然后发送邮件。当值满足肯定条件时,我接收邮件(因此邮件部分不是问题) if(parseInt(e.values[2])>-15) { mailInnhold+=“Fryser 200 er注册器som”+e.values[2]+“分级器”。+“\n”; feil++; } if(parseInt(e.values[3])>4 | | parseInt(e.values[3])
if(parseInt(e.values[2])>-15)
{
mailInnhold+=“Fryser 200 er注册器som”+e.values[2]+“分级器”。+“\n”;
feil++;
}
if(parseInt(e.values[3])>4 | | parseInt(e.values[3])<(-1))//Kjøl 102//
{
mailInnhold+=“Kjøl 102 er registerert som”+e.values[3]+“grader.”+“\n”;
feil++;
}
当我尝试对负值执行parseInt()时,我得到了NaN。显然,这是因为我从表单中收到了一个ndash,而不是连字符,但我无法修复这个问题,而且我在Google上也找不到任何相关内容
我非常感谢任何帮助,如果我的问题有任何问题,如果愿意的话(给出充分的理由),我会很高兴地删除它
编辑:我指的问题是:
编辑2:MVCE和鲁宾样品
运行此命令将返回:
[16-12-2912:44:03:822 CET]−1[16-12-29 12:44:03:823 CET]NaN我认为“-”可以用来表示负数。正如您在下面的代码中所看到的,parseInt()能够将字符串“-2”转换为int,并且与值1相比工作正常。因此这不是应用程序脚本的错误
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)
如果用户确实在键入该字符,请在代码中检查该字符,并在解析前用破折号替换。@ZigMandel,目前我是唯一一个将数据写入表单的人,我一直明确使用“-”而不是“-”,但谷歌表单通过e.values提交。请添加示例数据输入以及[mvce]。我只是按照@ZigMandel的建议,检查所有提交的数据中的“-”,并将其替换为“-”。我仍然很想知道为什么会发生这种情况,因为我只在输入负值时使用“-”。-2,而不是-2。我最终通过替换()因为我想不出任何其他方法来做这件事。@DoehringCowart smart thinking:)
if(parseInt(e.values[2]) > -15)