android java String.format 在 double 上的小数点前后填充零
android java String.format padding zeroes before and after decimal on a double
我做了一个快速计时器,我正在尝试以“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( "%1d:%2.2f", minutes, seconds );
但是字符串总是像“00:6.42”而不是“00:06.42”。我怎样才能 String.format 格式化带前导零的小数 和 小数位?
在 Java 中,更好的方法是使用 SimpleDateFormat
,就像这样:
long timeDelta = System.currentTimeMillis()-startTimeMillis;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("mm:ss:SS");
System.out.println(simpleDateFormat.format(timeDelta));
我做了一个快速计时器,我正在尝试以“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( "%1d:%2.2f", minutes, seconds );
但是字符串总是像“00:6.42”而不是“00:06.42”。我怎样才能 String.format 格式化带前导零的小数 和 小数位?
在 Java 中,更好的方法是使用 SimpleDateFormat
,就像这样:
long timeDelta = System.currentTimeMillis()-startTimeMillis;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ("mm:ss:SS");
System.out.println(simpleDateFormat.format(timeDelta));