gpt4 book ai didi

java - Android:如何以十进制格式显示时间计数器

转载 作者:行者123 更新时间:2023-11-29 21:34:23 25 4
gpt4 key购买 nike

这个问题可能会引起混淆,所以我在下面解释一下。

我已经创建了一个计数器来计算时间(比如人们工作了多少时间)。它可以很好地处理单个字符(比如 0:0:0),但我想以十进制显示它(比如 00:00 :00)。我试过下面的代码,但它像以前一样工作。还没有改变。

  private void timer() {

int locSec = 0;
int locMin = 0;
int locHr = 0;
DecimalFormat format = new DecimalFormat("00");
String formatSecond = format.format(locSec);
String formatMinute = format.format(locMin);
String formatHour = format.format(locHr);

sec = Integer.parseInt(formatSecond);
min = Integer.parseInt(formatMinute);
hr = Integer.parseInt(formatHour);

Timer T = new Timer();
timeCounter = (TextView) findViewById(R.id.tvDisplayCountDown);
T.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
timeCounter.setText("time= " + hr + ":"+ min + ":"+ sec);
sec++;
if(sec > 59){
sec = 0;
min = min + 1;
}
}
});
}
}, 1000, 1000);

}

其中 hr、min 和 sec 是全局变量并指定为 0。 输出与之前相同:0:0:0

非常感谢您的帮助和建议。

谢谢

最佳答案

点这里

假设formatSecond=01

    sec = Integer.parseInt(formatSecond); //this converts 01 to back 1 
min = Integer.parseInt(formatMinute);
hr = Integer.parseInt(formatHour);

非常简单

首先更改为 final DecimalFormat format = new DecimalFormat("00");

现在使用 format.format(Double.valueOf(hr or min or sec))

所以你的代码应该是:

timeCounter.setText("time= " + format.format(Double.valueOf(hr)) + ":" 
+format.format(Double.valueOf(min)) + ":"
+ format.format(Double.valueOf(sec)));

输出:

time=00:01:05 // As you Required

我已经按照问题的要求进行了测试和工作

关于java - Android:如何以十进制格式显示时间计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18737274/

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