5

を使用してTimeUnit、665477 ナノ秒を 0.665477 ミリ秒に変換するにはどうすればよいですか?

long t = TimeUnit.MILLISECONDS.convert(665477L, TimeUnit.NANOSECONDS);

これは常に得られます0が、小数点の精度が必要です。

4

4 に答える 4

5

短く、エラーが発生しにくい:

double millis = 665477 / 1E6;

ミリ→ミクロ→ナノ

は 2 つのステップであり、各ステップの変換係数は 1000 = 1E3 です。これは、ゼロを数えるよりも 1E6 として読みやすくなります。

于 2014-07-07T13:16:20.143 に答える
3

これは手動で計算できます

double mil = 665477L/1_000_000.0
于 2014-07-07T12:22:59.117 に答える
3

1,000,000 で割るだけです。

double millis = 665477 / 1000000.0;

を使用TimeUnitすると、整数の結果のみが得られます。

于 2014-07-07T12:22:25.217 に答える