X 数字后浮动不增加

pap*_*api -2 c# unity-game-engine

我有一个总点数的浮点数,它由计时器自动增加,但在总点数达到一定数量后,它似乎不再增加。我没有设置任何限制,所以我不确定为什么会发生这种情况。

因此,totalPoints 在达到“2097152”值时停止增加。

这是我的代码的一部分:

public float totalPoins;

void AccumulatePoints()
{

   timer += Time.deltaTime * miningPowerValue;

   if (timer > 1f)
   {    
      totalPoints += someValue;
      timer = 0;    
   }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上它会根据挖矿PowerValue来累积积分。如果较低,积累速度会较慢,较高则积累速度较快。请帮忙。我很困惑。

Jos*_*ica 5

浮点数越大,精度就越低。您遇到过这样的情况:它们足够大,以至于您尝试添加的金额小于该大小的数字之间的最小可能差异。切换到double或其他更精确的东西。

  • @papi并不是说你是盲目的......你得到了一个很可能解决你的问题的答案,而不是尝试它,你花时间谈论一些甚至与约瑟夫斯的答案没有任何关系的事情。约瑟夫试图再次解释,但你驳回了他的说法,并声称问题是其他问题,并以“*没关系。感谢您的尝试”*结束。他没有尝试。他回答了你的问题。几个小时后,您仍然没有尝试过这个解决方案。我不明白需要多少能量才能将 `float` 更改为 `double` 或 Google *“浮点精度”* (2认同)