簡體   English   中英

在特定的十進制數中舍入小數java

[英]Rounding off decimals at a particular decimal number java

十進制數相減時如何得到正確的時間。 我想減去數字,就好像它是時間一樣。 但是時間只有 60 分鍾,而數字是 100。我怎么能對小數位進行某種限制,使它像時間一樣。

這是一種方法。 經過的時間以毫秒為單位,因為這是從結束 System.currentTimeMillis() 減去開始 System.currentTimeMillis() 時所擁有的時間。

public String formatElapsedTime(long elapsedTime) {
    int centiseconds = (int) (((elapsedTime % 1000L) + 5L) / 10L);
    centiseconds %= 10;
    int seconds = (int) (elapsedTime / 1000L);
    int minutes = seconds / 60;
    seconds -= minutes * 60;
    int hours = minutes / 60;
    minutes -= hours * 60;

    if (hours > 0) {
        return String.format("%2d:%02d:%02d.%02d", hours, minutes, seconds,
                centiseconds);
    } else if (minutes > 0) {
        return String.format("%2d:%02d.%02d", minutes, seconds,
                centiseconds);
    } else {
        return String.format("%2d.%02d", seconds, centiseconds);
    }
}

當您以小時為單位測量經過的時間時,您可能不需要顯示厘秒。

因為我的格式字符串以“%2d”開頭,所以小於 10 的秒、分和小時將空格作為字符串的第一個字符。 我發現這可以防止顯示跳得太厲害。 如果不需要前導空格,請將格式字符串更改為“%1d”。

您也可以計算天數,時間真的很長。 您可能需要類似“3 天 6 小時 25 分 13 秒”的格式。 或不。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM