在textView中格式化android文本时出现问题

在textView中格式化android文本时出现问题,android,string,formatting,textview,formatter,Android,String,Formatting,Textview,Formatter,我在文本视图上格式化字符串时遇到很多问题。我正在创建一个秒表应用程序,我需要将其格式化为“00:00:00”,但当我启动秒表时,它显示为“00:00:000” 这是密码 private Runnable updateTimerThread = new Runnable() { public void run() { timeInMilliseconds = SystemClock.uptimeMillis() - startTime; updatedTime = timeSwapBuff

我在文本视图上格式化字符串时遇到很多问题。我正在创建一个秒表应用程序,我需要将其格式化为“00:00:00”,但当我启动秒表时,它显示为“00:00:000”

这是密码

private Runnable updateTimerThread = new Runnable() {
public void run() {
  timeInMilliseconds = SystemClock.uptimeMillis() - startTime;
  updatedTime = timeSwapBuff + timeInMilliseconds;
  int secs = (int) (updatedTime / 1000);
  int mins = secs / 60;
  secs = secs % 60;
  int milliseconds = (int) (updatedTime % 1000);
  timerValue.setText(String.format("%02d:%02d:%02d", mins, secs, milliseconds));
  customHandler.postDelayed(this, 0);
}
})

如果你需要更多信息,请告诉我


提前感谢

我相信您想要的解决方案是将毫秒设为3位数,因为它可以是这么多位数:

 "%02d:%02d:%03d"
“%02d”如果数字太短,则在零之前加上前缀,如果数字太长,则不截断。毫秒可以是3位数的值

如果希望最终值为2位数,可以执行以下操作:

  milliseconds /= 10;  // now 1/100ths of a second

我相信您想要的修复方法是将毫秒设为3位数,因为它可以是这么多位数:

 "%02d:%02d:%03d"
“%02d”如果数字太短,则在零之前加上前缀,如果数字太长,则不截断。毫秒可以是3位数的值

如果希望最终值为2位数,可以执行以下操作:

  milliseconds /= 10;  // now 1/100ths of a second

我相信您想要的修复方法是将毫秒设为3位数,因为它可以是这么多位数:

 "%02d:%02d:%03d"
“%02d”如果数字太短,则在零之前加上前缀,如果数字太长,则不截断。毫秒可以是3位数的值

如果希望最终值为2位数,可以执行以下操作:

  milliseconds /= 10;  // now 1/100ths of a second

我相信您想要的修复方法是将毫秒设为3位数,因为它可以是这么多位数:

 "%02d:%02d:%03d"
“%02d”如果数字太短,则在零之前加上前缀,如果数字太长,则不截断。毫秒可以是3位数的值

如果希望最终值为2位数,可以执行以下操作:

  milliseconds /= 10;  // now 1/100ths of a second

毫秒不是千分之一秒吗? 我认为你需要展示多达百分之一。。
我认为00:00:000在这种情况下是准确的。

毫秒不是千分之一秒吗? 我认为你需要展示多达百分之一。。
我认为00:00:000在这种情况下是准确的。

毫秒不是千分之一秒吗? 我认为你需要展示多达百分之一。。
我认为00:00:000在这种情况下是准确的。

毫秒不是千分之一秒吗? 我认为你需要展示多达百分之一。。 我认为00:00:000在这种情况下是准确的