我认为这应该很容易,但我很难过。我有一个存储在数据库中的浮点数(我们称之为N),它每5-10秒更新一次,总是增加一些未知量(通常在0.0到200.0之间)。我需要显示每次数字超过304.8的间隔时出现的“里程碑”。
尝试使用mod(304.8%N)来检查它何时为0,这不起作用,因为N可以从302.2变为308.6,例如,永远不会有0余数。
我想计算达到的里程碑数(每次传递304.8),并且每次都会向用户发出通知。出于某种原因,我无法想出一个合理的方法来做到这一点。
问题出现在我的android(java)程序中。
答案 0 :(得分: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