我正在尝试在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;

10-06 05:35