当前位置: 首页 > 知识库问答 >
问题:

倒计时?(毫秒精度)?

冉丰茂
2023-03-14

我在代码中使用倒计时。问题是,倒计时不准确。onTick方法并不总是每秒执行一次,它可能需要几毫秒的时间。当试图基于millisUntilFinished执行某项任务时,这会成为一个问题。当我的20秒计时器超过10秒时,我正在尝试登录

以下是相关代码

    if (millisUntilFinished == 10000) { //TEN SECONDS

                Log.v(TAG, "TEN SECONDS LEFT");
            }

这里出现了一个问题,因为countDownTimer可能永远不会有millisUntilFinished==10000,它可能等于1001,因此我的代码将不会执行。无论如何,有没有办法将百万分之一(这是一个很长的数字)四舍五入到最近的千分之一?我尝试了以下方法:

 millisUntilFinishedRounded = MathUtils.round((double) millisUntilFinished, -3); // nearest thousand, 2000.0

但我无法解析“数学”

我迷路了。我真的很感激任何反馈(积极或消极)!非常感谢你所有的帮助。

{Rich}

共有1个答案

阴英武
2023-03-14

有几种选择:

>

((500毫未加工)/1000)*1000

您可以使用一个条件来检查该值是否在四舍五入到10000的范围内:

毫微光整

您可以第一次检查millisuntiltfinished是否降至10000以下:

boolean printedMessage = false;
while (true) {
  millisUntilFinished = ...
  if (!printedMessage && millisUntilFinished < 10000) {
    System.out.println("Your message");
    printedMessage = true;
  }
}
 类似资料:
  • 本文向大家介绍基于javascript实现精确到毫秒的倒计时限时抢购,包括了基于javascript实现精确到毫秒的倒计时限时抢购的使用技巧和注意事项,需要的朋友参考一下 这篇文章为大家分享了javascript实现倒计时限时抢购,精确到毫秒的倒计时,供大家参考,具体内容如下 一、效果图 下面的图片就是聚划算上面的限时抢的效果 二、实现限时抢的效果需要用到的知识 :Javascript Date(

  • 本文向大家介绍javascript实现倒计时(精确到秒),包括了javascript实现倒计时(精确到秒)的使用技巧和注意事项,需要的朋友参考一下 代码相当简单实用,这里就不多废话了,小伙伴们简单看下就能明白 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 本文向大家介绍多个js毫秒倒计时同时进行效果,包括了多个js毫秒倒计时同时进行效果的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解js毫秒倒计时同时进行效果的代码,分享给大家供大家参考,具体内容如下 实现功能:调用一个函数,传入html元素的id,和一个截止时间(unix时间戳),在该html元素中打印出到当前到截止时间为止的倒计时,精确到毫秒; 效果图如下: 如何使用这个函数? addTi

  • 由于某些原因,我的计时器不连续倒计时,它有时会回到前一秒左右。 例如:如果我在49秒开始计时,这就是打印出来的内容: (以毫秒为单位) 48774 47374 48909//不一致 47063 46212 44987 48426//不一致 46294//不一致 44738 43636 42410 ...等等 我所做的一切都是将两个整数(分和秒)进行传递,并将它们组合在一起得到总毫秒数。 这是我的密

  • 我现在用SDL2编程。所有这些都可以正常工作,但我对方法有一个问题。通常,它应该以毫秒为单位返回应用程序的总时间,但它总是在大部分时间返回值0,有时返回值1。 我用标志初始化SDL。 以下代码的问题是循环太快,因此增量时间小于1 ms。是否有方法实现更高的精度?

  • 本文向大家介绍Andorid实现精确到天时分秒的抢购倒计时,包括了Andorid实现精确到天时分秒的抢购倒计时的使用技巧和注意事项,需要的朋友参考一下 今天项目用到了抢购时倒计时的功能 ,今天找了好多哥们,也百度了好多,但是没有自己喜欢并且能消化的。好不容易找到了一个能容易看懂的,然而又不符合我想要的需求,所以自己搞一下。不知道是否简单,但是最起码是项目的功能可以实现。(一下午,没白费。开心) 直