所以...如果它們相等,我必須檢查一些值。但他們從來沒有,我知道他們應該是,我調試我的應用程序,並得出以下結論簡單的算術運算應該是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