Как преобразовать наносекунды в секунды, используя перечисление TimeUnit?

141
задан lospejos 14 February 2019 в 15:42
поделиться

3 ответа

Хорошо , вы можете просто разделить на 1 000 000 000:

long elapsedTime = end - start;
double seconds = (double)elapsedTime / 1_000_000_000.0;

Если вы используете TimeUnit для преобразования, вы получите результат как длинный, поэтому вы потеряете десятичную точность, но сохраните точность целых чисел.

195
ответ дан 23 November 2019 в 23:06
поделиться

TimeUnit Enum

В следующем выражении используется перечисление TimeUnit (Java 5 и более поздние версии) для преобразования наносекунд в секунды:

TimeUnit.SECONDS.convert(elapsedTime, TimeUnit.NANOSECONDS)
349
ответ дан 23 November 2019 в 23:06
поделиться

TimeUnit - это перечисление, поэтому вы не можете создать новое.

Следующий код преобразует 1000000000000 нс в секунды.

TimeUnit.NANOSECONDS.toSeconds(1000000000000L);
57
ответ дан 23 November 2019 в 23:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: