Javascript 使用“%”时出现错误

Javascript 使用“%”时出现错误,javascript,c#,unity3d,Javascript,C#,Unity3d,我试图将下面的JavaScript语句转换为C, 但在某一点上,我得到了以下错误:无法隐式地将类型“float”转换为“bool”。 谁能指出我做错了什么。 谢谢 在Javascript中,零等于false,但在C中不等于: 你应该这样写: if((row + rowoffset) % 2 == 1){ Debug.log(row+rowoffset); } 对浮点值执行模函数将产生浮点值,而不是布尔值。我相信这会满足你的要求: ifrow+行偏移量%2!=0{ Debug.logro

我试图将下面的JavaScript语句转换为C, 但在某一点上,我得到了以下错误:无法隐式地将类型“float”转换为“bool”。 谁能指出我做错了什么。 谢谢


在Javascript中,零等于false,但在C中不等于:

你应该这样写:

if((row + rowoffset) % 2 == 1){
    Debug.log(row+rowoffset);
}

对浮点值执行模函数将产生浮点值,而不是布尔值。我相信这会满足你的要求:

ifrow+行偏移量%2!=0{ Debug.logrow+rowoffset; }

在C if语句中,要求条件为true或false,即1或0。您使用的代码完全能够生成浮点

更改您的代码如下所示,这取决于您的代码到底做了什么,但您可以这样做只是为了检查并适当地进行更改

If((row + rowoffset) % 2 == 0){

Debug.log(row+rowoffset);

}

您能发布javascript代码吗?模数运算符返回余数,这不是真的或假的。if语句中需要True或false。所选答案实际上会反转测试逻辑,给出与原始代码不同的结果。该支票应为!=其他两个答案中给出的0或==1。
If((row + rowoffset) % 2 == 0){

Debug.log(row+rowoffset);

}