2013-04-25 96 views
0

我使用如何將%02d:%02d:%02d轉換爲double?

Min_txtvw.setText(String.format(mTimeFormat, hour, min, sec)); 

現在 average=distance*60*60/seconds //我的函數爲秒發現平均 我不得不從Min_txtvw 我做它像之下,但它給NumberformatException得到的時間,

設置時間上 TextView
try { 

      String s = Min_txtvw.getText().toString(); 
      double d = Double.valueOf(s.trim()).doubleValue(); 
      System.out.println("average distance is"+d); 
     } catch (Exception e) { 
      // TODO: handle exception 
      e.printStackTrace(); 
     } 

我如何轉換TextView值並將其轉換爲雙精度值?

回答

0

您得到NumberformatException,因爲您的變量S包含「:」字符串值,您需要使用replaceAll()方法替換這些值。

嘗試以下方法,

try { 
     String s = Min_txtvw.getText().toString(); 
     s.replaceAll (":",""); 
     double d = Double.valueOf(s.trim()).doubleValue(); 
     System.out.println("average distance is"+d); 
    } catch (Exception e) { 
     // TODO: handle exception 
     e.printStackTrace(); 
    } 
+0

此行'一個String = Min_txtvw.getText()的toString()之後;''放的System.out.println(S);',並告訴我它顯示 – Lucifer 2013-04-25 06:28:29

+0

04-25 12:02:25.841:I/System.out(12690):s的值是00:01:18 04-25 12:02:25.841:I/System.out(12690):formatted value of s是00:01:18 – Raj 2013-04-25 06:35:45

+0

@Raj,我已經更新了答案,請再試一次。 – Lucifer 2013-04-25 06:37:46