1

我认为这应该很容易,但我被难住了。我有一个浮点数存储在数据库中(我们称之为 N),每 5-10 秒更新一次,总是增加一些未知量(通常在 0.0 到 200.0 之间)。我需要显示每次数字超过 304.8 间隔时发生的“里程碑”。

尝试使用 mod (304.8 % N) 来检查它何时为 0,这是行不通的,因为 N 可以从 302.2 变为 308.6,例如,永远不会有 0 余数。

我想计算达到的里程碑数量(每次通过 304.8 时),并且每次都向用户发出通知。出于某种原因,我想不出一个合理的方法来做到这一点。

问题出现在我的 android (java) 程序中。

4

1 回答 1

0

您可以除以 n里程碑并确定结果。然后将其与之前的结果进行比较。如果新的比前一个大,你已经通过了一个里程碑:

double interval = 304.8;
double prev = // saved from the previous round
double curr = prev + someIncrement();
if (Math.floor(curr/interval) > Math.floor(prev/interval)) {
    milestonePassed();
}
prev = curr; // For next round
于 2016-10-27T00:59:58.593 回答