我在textView上格式化字符串时遇到很多问题。我正在创建一个秒表应用程序,我需要格式化为" 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);
}
};
如果您需要更多信息,请与我们联系。
提前致谢
答案 0 :(得分:3)
我相信你想要的修复是将毫秒设为3位,因为它可以是多个数字:
"%02d:%02d:%03d"
"%02D"如果数字太短,则预先加零,但如果数字太长则不截断。毫秒可以是3位数值。
如果您希望最终值为2位数,则可以执行以下操作:
milliseconds /= 10; // now 1/100ths of a second
答案 1 :(得分:0)
不是1/1000秒的毫秒? 我认为你需要展示最多的东西.. 在这种情况下,我认为00:00:000是准确的。