我有一个if语句,用于检查随时间增加的浮点数(它是一个计时器)当前代码是这个
if (Day.DateTime == 1080){
ClientsTaken = Random.Range(MinNoOfClients, MaxNoOfClients);
GameObject.Find("Canvas").GetComponent(Brothel).Money += (ClientsTaken *(Cost * GirlMorale));
ClientsSeen += ClientsTaken;
Debug.Log("Clients taken = " + ClientsTaken);
}
计时器绝对命中1080但没有任何事情发生。我也试过1080f,但结果相同。
非常感谢任何帮助,谢谢。
答案 0 :(得分:0)
我会将支票更改为Day.DateTime >= 1080
。处理浮点数时,您可能不会直接落在整数值上。
答案 1 :(得分:0)
由于“浮点不精确” - 浮点变量在内部存储在PC上的方式,不推荐使用这种方式比较浮点变量。
相反,您可以使用Mathf.Approximately(),如下所示:
if (Mathf.Approximately(Day.DateTime, 1080.0))
{
...
{