如果语句浮动没有返回结果Unity3d JS / US

时间:2015-08-01 18:58:48

标签: unity3d unityscript

我有一个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,但结果相同。

非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

我会将支票更改为Day.DateTime >= 1080。处理浮点数时,您可能不会直接落在整数值上。

答案 1 :(得分:0)

由于“浮点不精确” - 浮点变量在内部存储在PC上的方式,不推荐使用这种方式比较浮点变量。

相反,您可以使用Mathf.Approximately(),如下所示:

if (Mathf.Approximately(Day.DateTime, 1080.0))
{
    ...
{