Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FOR循环迭代不起作用_C#_For Loop_Unity3d - Fatal编程技术网

C# FOR循环迭代不起作用

C# FOR循环迭代不起作用,c#,for-loop,unity3d,C#,For Loop,Unity3d,我只是尝试从FOR循环中获取输出,其中初始化值I迭代3次 remainder = 0.33F; for (float i = 0; i < 1.00F; i += remainder) { Debug.Log(i); } 余数=0.33F; 对于(浮点数i=0;i

我只是尝试从FOR循环中获取输出,其中初始化值
I
迭代3次

remainder = 0.33F;

for (float i = 0; i < 1.00F; i += remainder)
{
  Debug.Log(i);
}
余数=0.33F;
对于(浮点数i=0;i<1.00F;i+=余数)
{
调试日志(i);
}
这就是输出,i=0,i=0.33和i=0.66。为什么我得不到I=0.99?

对这个特殊问题的精确解释将包括如何在C#VM中浮动存储在内存中的a的详细信息,以及Microsoft编译器和Mono编译器之间的区别,以及如果在iOS上构建,在IL2CPP之前和之后如何获得不同的结果


然而,我不认为你需要所有这些信息,老实说,我太懒了,无法深入挖掘。就像一般的经验法则一样,依靠浮点运算是不可靠和不精确的。

那么,怎样做才能得到变量“I”的所有期望值?我收回了投票结果。通常,浮点不准确会导致循环像这样失败。在这种情况下,余数=0.33,我认为这是不可能发生的。轻微的语法修正,但效果很好。。。我同意Shar1er80,我也测试了它,它工作得很好,尽管由于fp不准确,如果
余数=1.0f/3.0f
,它无法打印0.99