规范化输入到进度条的timeInMillis差异

时间:2016-07-16 23:20:24

标签: java android

  1. T1:昨天创建的日历对象。
  2. T2:现在创建日历对象。
  3. T3:明天创建的日历对象。
  4. 我希望我的进度条在T2达到T3时前进。我正在施放长(getTimeInMillis),除以......最后得到一个int。它不起作用。 一个函数,如:int CurrentProgressBarValue(Calendar T1,Calendar T2,Calendar T3){},现在真的很有帮助!所以我只是在xml中将maxValue设置为100,函数将返回一个比例整数。

        public int getNormalizedProgress(long max, long current){
        double d = (double)current/max;
        d = d * 100;
        Double D = new Double(d);
        return D.intValue();
    }
    

1 个答案:

答案 0 :(得分:0)

如果我理解你想要做什么,你需要找到T1和T2之间的毫秒数,以及T1和T3之间的毫秒数,然后找到比率。

由于millis很长,并且T1和T3之间的差异可能大于int,因此需要使用long来区分。您需要使用双精度进行除法,以便获得小数结果。

假设T1,T2和T3为长,以下将给出0到100之间的数字:

(((t2 - t1)*1.0)/((t3 - t1)*1.0) * 100).intValue