그래서 ... 같은 값인지 확인해야합니다. 그러나 그들은 결코 존재하지 않았고, 나는 그들이해야한다는 것을 알았고, 나는 나의 응용 프로그램을 디버깅하여 다음 결론에 도달했다.단순 산술 계산법이 0이어야합니다. 무한대가 반환됩니다.
-2.5f - Mathf.Round (1.1f) * 0.6f - (-3.1f) doest는 0이 아니다. 대신 가치가 -1.192093E-07
이 문제에 대한 적절한 설명이 있으며 해결 방법이 있습니까? 정말이 형식의 방정식이 필요합니다.
추 신 : 모든 값은 하드 코드되었지만 변수이며 다른 값도 있습니다. 문제는 결과가 0 일 때입니다.
여기에 코드 줄이 있습니다. Debug.Log (string.Format ("{0}", -2.5f - Mathf.Round (1.1f) * 0.6f - (-3.1f)));
Unity 4.5.1f3을 OS X 10.9.5에서 Monodevelop 4.0.1과 함께 사용하십시오.
Unity 4.6.0f3에서도 재현되었습니다. –
[부동 소수점 연산이 깨졌습니까?] (http://stackoverflow.com/questions/588004/is-floating-point-math-broken) –
이러한 질문에 unity3d 태그를 사용하십시오. –