将毫秒转换为秒,分钟而不进行舍入

时间:2014-09-12 02:00:38

标签: java

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

} 

这会返回类似......

的结果

elapsedTime:毫秒:1392秒:1.0分钟:0.0

elapsedTime:毫秒:742秒:0.0分钟:0.0123667

相反,我想......

elapsedTime:毫秒:1392秒:1.392分钟:0.0232

elapsedTime:毫秒:742秒:0.742分钟:0.01236667

似乎是一个简单的问题,但我不确定我做错了什么。有人可以帮我这个。

感谢

1 个答案:

答案 0 :(得分:1)

在分裂时使用浮点算术:

(elapsedTimeMillis/1000.0)

(elapsedTimeMillis/(1000.0*60))

相应。

换句话说:

double seconds =  elapsedTimeMillis / 1000.0;
double minutes = (elapsedTimeMillis / (1000.0 * 60)) % 60;