我正在尝试在Java 1.4.2中将毫秒转换为秒和分钟。我遇到了麻烦,因为我的转换已被四舍五入。例如....
public String toString() {
long startTime = System.currentTimeMillis();
long endTime = System.currentTimeMillis();
long elapsedTimeMillis = (endTime - startTime);
double seconds = (double) (elapsedTimeMillis / 1000) % 60 ;
double minutes = (double) ((elapsedTimeMillis / (1000*60)) % 60);
return
" elapsedTime: "
+ " milliseconds:" + elapsedTimeMillis
+ " seconds:" + seconds
+ " minutes:" + minutes;
}
返回的结果如下...
经过时间:毫秒:1392秒:1.0分钟:0.0
和
经过时间:毫秒:742秒:0.0分钟:0.0123667
相反,我想要...
经过时间:毫秒:1392秒:1.392分钟:0.0232
和
经过的时间:毫秒:742秒:0.742分钟:0.01236667
似乎是一个简单的问题,但我不确定自己在做什么错。有人可以帮我弄这个吗。
谢谢
最佳答案
对除法使用浮点运算:
(elapsedTimeMillis/1000.0)
和
(elapsedTimeMillis/(1000.0*60))
相应地。
换一种说法:
double seconds = elapsedTimeMillis / 1000.0;
double minutes = (elapsedTimeMillis / (1000.0 * 60)) % 60;