討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 軟體開發過程中有哪些資安漏洞?
[ 回上頁 ] [ 討論區發言規則 ]
System.currentTimeMillis的問題
更改我的閱讀文章字型大小
作者 : cannotsee1(天才)
[ 貼文 1 | 人氣 671 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2006/4/14 下午 09:35:55
下面這段程式是用來計算程式執行的時間

    // Get current time
    long start = System.currentTimeMillis();
    
    // Do something ...
    
    // Get elapsed time in milliseconds
    long elapsedTimeMillis = System.currentTimeMillis()-start;
    
    // Get elapsed time in seconds
    float elapsedTimeSec = elapsedTimeMillis/1000F;
    
    // Get elapsed time in minutes
    float elapsedTimeMin = elapsedTimeMillis/(60*1000F);
    
    // Get elapsed time in hours
    float elapsedTimeHour = elapsedTimeMillis/(60*60*1000F);
    
    // Get elapsed time in days
    float elapsedTimeDay = elapsedTimeMillis/(24*60*60*1000F);

但是我不懂的是為什麼將毫秒轉換成為秒的時候是 除以 "1000F",而不是 除以 "1000",為什麼要多加一個"F"阿?
如果不多加這個"F",反而除不出來

請教各位大大 ^^
作者 : javachih(阿誌)
[ 貼文 31 | 人氣 1 | 評價 460 | 評價/貼文 14.84 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人cannotsee1註記此篇回應為最佳解答 2006/4/20 上午 08:39:21
F表示float
因為接收的變數是float
所以計算結果也要是float的型別才行
將一個long除以float的型別後,其結果就會是float

或是用cast的方式也行,如下
float elapsedTimeSec = (float)elapsedTimeMillis/1000;

不然就是接受的變數改為long,如下
long elapsedTimeSec = elapsedTimeMillis/1000;
 板主 : 風月
 > Java入門一般區 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Java入門一般區 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Java入門一般區
1 洋將 2410 
2 Aron 2130 
3 Aries 1510 
4 DEMO999 1310 
5 Ben 990 
6 ramb 620 
7 ozzy 570 
8 tand 460 
9 Huah 410 
10 vindy 400 
Java入門一般區
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875