我試圖把當前系統時間,瞭解Java變量/小數
long now = System.currentTimeMillis();
找出遠光是如何自1970年以來走過(公里),
double km = (now/1000.0) * 299792.458;
和打印值。
System.out.printf("Since the unix Epoch, light has traveled...\n%f km", km);
但是當我運行代碼時,我只能得到兩位小數的答案。
435963358497001.750000 km
這是有原因嗎?打印使用
System.out.println(km);
值給我
4.3596335849700175E14
看到有有意義的,爲什麼它切斷對E。有沒有辦法讓我的價值達到3位或更多的小數位?
'DecimalFormat'。 – Satya
爲什麼不使用'km = now * 299.792458;'而不是'km =(now/1000.0)* 299792.458;'? –
@LưuVĩnhPhúc在[我的答案](http://stackoverflow.com/a/35111025/5221149)中使用了您的建議。幫助簡化代碼。謝謝。 – Andreas