所以...如果它们相等,我必须检查一些值。但他们从来没有,我知道他们应该是,我调试我的应用程序,并得出以下结论简单的算术运算应该是0会返回无穷大
-2.5f - Mathf.Round(1.1f)* 0.6f - (-3.1f)不等于0但它的价值是-1.192093E-07
有没有对此的合理解释,是否有解决方法?我真的需要这种格式的公式。
PS:所有的值都在这里硬编码,但它们是变量,它们也有其他值。问题是什么时候结果应该是0
这是一行代码: Debug.Log(string.Format(“{0}”,-2.5f - Mathf.Round(1.1f)* 0.6f - (-3.1f)));
在OS X 10.9.5上使用Unity 4.5.1f3和Monodevelop 4.0.1。
也在Unity 4.6.0f3中转载。 – 2014-12-06 03:39:07
[浮点数学是否被破坏?](http://stackoverflow.com/questions/588004/is-floating-point-math-broken) – 2014-12-06 03:48:57
请为这些问题使用unity3d标记。 – 2014-12-06 03:52:48