android java String.format padding在double上的小数点前后的零

时间:2016-06-30 14:50:54

标签: java android string-formatting

我做了一个快速计时器,我试图以“00:00.00”格式显示时间,其中第一个00是分钟,00.00是秒和秒的分数。我有以下格式代码:

// Get the delta time
long timeDelta = System.currentTimeMillis()-startTimeMillis;

int minutes;
double seconds;

// Now split
if( timeDelta>60000 ) { // Minutes
    minutes = (int)(timeDelta/60000);
    timeDelta-= minutes*60000;
}
else
    minutes = 0;

// Now for the rest
seconds = timeDelta/1000.0;

// Get the text string
final String timeString = String.format( "%1$02d:%2$02.2f", minutes, seconds );

但字符串不断出现,如“00:6.42”而不是“00:06.42”。如何使用String.format格式化小数,前导零小数位?

1 个答案:

答案 0 :(得分:2)

在Java中更好的方法是使用SimpleDateFormat,如下所示:

long timeDelta = System.currentTimeMillis()-startTimeMillis;

SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("mm:ss:SS");
System.out.println(simpleDateFormat.format(timeDelta));

From the manual