2016-10-27 4 views
1

これはかなり簡単だと思いますが、私は困惑しています。私は浮動小数点数をデータベースに格納して(それをNと呼ぶことができます)、5〜10秒ごとに更新され、常に未知の量(通常0.0〜200.0の間)で増加しています。数字が304.8を過ぎるたびに発生する「マイルストーン」を表示する必要があります。一定の間隔で連続的に増加する整数での通過を検出する方法

mod(304.8%N)を使って0をチェックしようとすると、Nが302.2から308.6に変わる可能性があるため、残りが0にならない可能性があります。

到達したマイルストーンの数(毎回304.8が経過するたびに)を計算し、その都度ユーザーに通知する必要があります。何らかの理由で私はこれを行う合理的な方法を考えることができません。

問題は私のアンドロイド(java)プログラムで発生しています。

+0

はまあ、マイルストーンが達成された:新しいものが前のものよりも大きい場合は、マイルストーンを通過しました。 – 4castle

+0

div演算子は、あなたが求めるものを行います。 '304.8/304.8 = 1'、' 304.8 * 2/304.8 = 1' ...などとなります。 – tenCupMaximum

+0

@ Jaked222タイトルを編集して、問題の概要を正確に記述してください。 –

答えて

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 
+0

ありがとう、これは私の実装に役立ち、働いた – Jaked222

関連する問題