gpt4 book ai didi

java - 标准化进度条输入的 timeInMillis 差异

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:43 27 4
gpt4 key购买 nike

  1. T1:昨天创建的日历对象。
  2. T2:现在创建的日历对象。
  3. T3:明天创建的日历对象。

我希望我的进度条在 T2 达到 T3 时继续前进。我正在类型转换 long (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();
}

最佳答案

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

由于 millis 是 long,并且 T1 和 T3 之间的差异可能大于 int,因此需要使用 long 进行差异。您需要用 double 进行除法,这样才能得到小数结果。

假设 T1、T2 和 T3 为长数,以下将为您提供 0 到 100(含)之间的数字:

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

关于java - 标准化进度条输入的 timeInMillis 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38416527/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com